@moltzap/client 2026.430.0 → 2026.430.2
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/auth.d.ts +26 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +37 -0
- package/dist/auth.js.map +1 -0
- package/dist/auth.test.d.ts +2 -0
- package/dist/auth.test.d.ts.map +1 -0
- package/dist/auth.test.js +84 -0
- package/dist/auth.test.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/errors.d.ts +13 -0
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/errors.js +10 -0
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/frame.d.ts +13 -2
- package/dist/runtime/frame.d.ts.map +1 -1
- package/dist/runtime/frame.js +20 -0
- package/dist/runtime/frame.js.map +1 -1
- package/dist/runtime/frame.test.js +1 -0
- package/dist/runtime/frame.test.js.map +1 -1
- package/dist/test/index.d.ts +7 -17
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +6 -26
- package/dist/test/index.js.map +1 -1
- package/dist/test-utils/conformance-adapter.d.ts.map +1 -1
- package/dist/test-utils/conformance-adapter.js +1 -0
- package/dist/test-utils/conformance-adapter.js.map +1 -1
- package/dist/ws-client.d.ts +50 -1
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +172 -4
- package/dist/ws-client.js.map +1 -1
- package/dist/ws-client.test.js +189 -1
- package/dist/ws-client.test.js.map +1 -1
- package/package.json +3 -3
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
/** HTTP response from the agent registration endpoints
|
|
3
|
+
* (`/api/v1/auth/register` and `/api/v1/admin/register-agent`). */
|
|
4
|
+
export interface RegisterResponse {
|
|
5
|
+
agentId: string;
|
|
6
|
+
apiKey: string;
|
|
7
|
+
claimUrl: string;
|
|
8
|
+
claimToken: string;
|
|
9
|
+
}
|
|
10
|
+
/** Options for {@link registerAgent}. */
|
|
11
|
+
export interface RegisterAgentOptions {
|
|
12
|
+
description?: string;
|
|
13
|
+
inviteCode?: string;
|
|
14
|
+
/** When set, registers via the secret-gated admin endpoint and pre-claims
|
|
15
|
+
* the agent for this user. See {@link registerAgent}. */
|
|
16
|
+
ownerUserId?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Register a new agent via HTTP. Thin wrapper around the agent-registration
|
|
19
|
+
* endpoints — the WebSocket dance is `MoltZapWsClient`'s job; this just
|
|
20
|
+
* returns the credentials the caller feeds it as `agentKey` at construction.
|
|
21
|
+
*
|
|
22
|
+
* Routes to `/api/v1/admin/register-agent` when `ownerUserId` is provided
|
|
23
|
+
* (admin path pre-claims the agent for the given owner); otherwise routes
|
|
24
|
+
* to the public `/api/v1/auth/register` endpoint. */
|
|
25
|
+
export declare const registerAgent: (baseUrl: string, name: string, opts?: RegisterAgentOptions) => Effect.Effect<RegisterResponse, Error>;
|
|
26
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;mEACmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;6DACyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD;;;;;;qDAMqD;AACrD,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,EACf,MAAM,MAAM,EACZ,OAAO,oBAAoB,KAC1B,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAiCrC,CAAC"}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
const PUBLIC_PATH = "/api/v1/auth/register";
|
|
3
|
+
const ADMIN_PATH = "/api/v1/admin/register-agent";
|
|
4
|
+
/** Register a new agent via HTTP. Thin wrapper around the agent-registration
|
|
5
|
+
* endpoints — the WebSocket dance is `MoltZapWsClient`'s job; this just
|
|
6
|
+
* returns the credentials the caller feeds it as `agentKey` at construction.
|
|
7
|
+
*
|
|
8
|
+
* Routes to `/api/v1/admin/register-agent` when `ownerUserId` is provided
|
|
9
|
+
* (admin path pre-claims the agent for the given owner); otherwise routes
|
|
10
|
+
* to the public `/api/v1/auth/register` endpoint. */
|
|
11
|
+
export const registerAgent = (baseUrl, name, opts) => Effect.tryPromise({
|
|
12
|
+
try: () => {
|
|
13
|
+
const body = { name };
|
|
14
|
+
if (opts?.description)
|
|
15
|
+
body.description = opts.description;
|
|
16
|
+
if (opts?.inviteCode)
|
|
17
|
+
body.inviteCode = opts.inviteCode;
|
|
18
|
+
if (opts?.ownerUserId)
|
|
19
|
+
body.ownerUserId = opts.ownerUserId;
|
|
20
|
+
const path = opts?.ownerUserId ? ADMIN_PATH : PUBLIC_PATH;
|
|
21
|
+
return fetch(`${baseUrl}${path}`, {
|
|
22
|
+
method: "POST",
|
|
23
|
+
headers: { "Content-Type": "application/json" },
|
|
24
|
+
body: JSON.stringify(body),
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
catch: (err) => (err instanceof Error ? err : new Error(String(err))),
|
|
28
|
+
}).pipe(Effect.flatMap((res) => res.ok
|
|
29
|
+
? Effect.tryPromise({
|
|
30
|
+
try: () => res.json(),
|
|
31
|
+
catch: (err) => err instanceof Error ? err : new Error(String(err)),
|
|
32
|
+
})
|
|
33
|
+
: Effect.tryPromise({
|
|
34
|
+
try: () => res.text(),
|
|
35
|
+
catch: (err) => err instanceof Error ? err : new Error(String(err)),
|
|
36
|
+
}).pipe(Effect.flatMap((text) => Effect.fail(new Error(`Register failed: ${res.status} ${text}`))))));
|
|
37
|
+
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoBhC,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAC5C,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAElD;;;;;;qDAMqD;AACrD,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAe,EACf,IAAY,EACZ,IAA2B,EACa,EAAE,CAC1C,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE;QACR,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,CAAC;QAC9C,IAAI,IAAI,EAAE,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,IAAI,IAAI,EAAE,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACxD,IAAI,IAAI,EAAE,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1D,OAAO,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;CACtE,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,GAAG,CAAC,EAAE;IACJ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAA+B;QAClD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACtD,CAAC;IACJ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;QACrB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACtD,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CACjE,CACF,CACN,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../src/auth.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
import { registerAgent } from "./auth.js";
|
|
4
|
+
/** Run an Effect to a Promise for vitest assertions. */
|
|
5
|
+
const run = (e) => Effect.runPromise(e);
|
|
6
|
+
/** Build a fake `fetch` that captures the request and returns a canned
|
|
7
|
+
* `RegisterResponse` payload. The capture is the assertion target — we
|
|
8
|
+
* verify URL and body shape without standing up the real server. The
|
|
9
|
+
* fake matches `typeof globalThis.fetch` so it can replace the real
|
|
10
|
+
* binding without a cast. */
|
|
11
|
+
function makeFakeFetch(responder) {
|
|
12
|
+
const calls = [];
|
|
13
|
+
const fakeFetch = async (input, init) => {
|
|
14
|
+
const url = typeof input === "string"
|
|
15
|
+
? input
|
|
16
|
+
: input instanceof URL
|
|
17
|
+
? input.toString()
|
|
18
|
+
: input.url;
|
|
19
|
+
const bodyText = typeof init?.body === "string" ? init.body : "";
|
|
20
|
+
calls.push({
|
|
21
|
+
url,
|
|
22
|
+
method: init?.method,
|
|
23
|
+
body: bodyText ? JSON.parse(bodyText) : undefined,
|
|
24
|
+
});
|
|
25
|
+
if (responder)
|
|
26
|
+
return responder(url);
|
|
27
|
+
return new Response(JSON.stringify({
|
|
28
|
+
agentId: "agent-id",
|
|
29
|
+
apiKey: "api-key",
|
|
30
|
+
claimUrl: "http://example/claim",
|
|
31
|
+
claimToken: "claim-token",
|
|
32
|
+
}), { status: 201, headers: { "Content-Type": "application/json" } });
|
|
33
|
+
};
|
|
34
|
+
return { fakeFetch, calls };
|
|
35
|
+
}
|
|
36
|
+
describe("registerAgent", () => {
|
|
37
|
+
const baseUrl = "http://test.local";
|
|
38
|
+
let originalFetch;
|
|
39
|
+
beforeEach(() => {
|
|
40
|
+
originalFetch = globalThis.fetch;
|
|
41
|
+
});
|
|
42
|
+
afterEach(() => {
|
|
43
|
+
globalThis.fetch = originalFetch;
|
|
44
|
+
});
|
|
45
|
+
it("posts ownerUserId in the body to the admin endpoint", async () => {
|
|
46
|
+
const { fakeFetch, calls } = makeFakeFetch();
|
|
47
|
+
globalThis.fetch = fakeFetch;
|
|
48
|
+
const result = await run(registerAgent(baseUrl, "test", {
|
|
49
|
+
inviteCode: "secret",
|
|
50
|
+
ownerUserId: "00000000-0000-4000-8000-000000000001",
|
|
51
|
+
}));
|
|
52
|
+
expect(calls).toHaveLength(1);
|
|
53
|
+
const [call] = calls;
|
|
54
|
+
expect(call.url).toBe(`${baseUrl}/api/v1/admin/register-agent`);
|
|
55
|
+
expect(call.method).toBe("POST");
|
|
56
|
+
expect(call.body).toEqual({
|
|
57
|
+
name: "test",
|
|
58
|
+
inviteCode: "secret",
|
|
59
|
+
ownerUserId: "00000000-0000-4000-8000-000000000001",
|
|
60
|
+
});
|
|
61
|
+
expect(result.agentId).toBe("agent-id");
|
|
62
|
+
});
|
|
63
|
+
it("posts to the public endpoint without ownerUserId when absent", async () => {
|
|
64
|
+
const { fakeFetch, calls } = makeFakeFetch();
|
|
65
|
+
globalThis.fetch = fakeFetch;
|
|
66
|
+
await run(registerAgent(baseUrl, "test", { inviteCode: "secret" }));
|
|
67
|
+
expect(calls[0].url).toBe(`${baseUrl}/api/v1/auth/register`);
|
|
68
|
+
// toEqual with `additionalProperties` rejects extra keys, so this also
|
|
69
|
+
// proves ownerUserId is not on the body.
|
|
70
|
+
expect(calls[0].body).toEqual({ name: "test", inviteCode: "secret" });
|
|
71
|
+
});
|
|
72
|
+
it("fails when the server returns a non-2xx response", async () => {
|
|
73
|
+
const { fakeFetch } = makeFakeFetch(() => new Response("invite required", {
|
|
74
|
+
status: 403,
|
|
75
|
+
headers: { "Content-Type": "text/plain" },
|
|
76
|
+
}));
|
|
77
|
+
globalThis.fetch = fakeFetch;
|
|
78
|
+
const exit = await Effect.runPromiseExit(registerAgent(baseUrl, "test", {
|
|
79
|
+
ownerUserId: "00000000-0000-4000-8000-000000000001",
|
|
80
|
+
}));
|
|
81
|
+
expect(exit._tag).toBe("Failure");
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=auth.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../src/auth.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { MoltZapChannelCore, type ChannelCoreOptions, type ChannelService, type
|
|
|
5
5
|
export { MoltZapWsClient, type WsClientLogger, type MoltZapWsClientOptions, type TrackedRpcResponse, } from "./ws-client.js";
|
|
6
6
|
export type { SubscriptionFilter, SubscriptionId, EventSubscription, SubscriberHandler, } from "./runtime/subscribers.js";
|
|
7
7
|
export type { CloseInfo } from "./runtime/close-info.js";
|
|
8
|
+
export { registerAgent, type RegisterAgentOptions, type RegisterResponse, } from "./auth.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export { MoltZapService, formatCrossConversationBlock, sanitizeForSystemReminder
|
|
|
2
2
|
export { AgentNotFoundError, NotConnectedError, RpcServerError, RpcTimeoutError, MalformedFrameError, } from "./runtime/errors.js";
|
|
3
3
|
export { MoltZapChannelCore, } from "./channel-core.js";
|
|
4
4
|
export { MoltZapWsClient, } from "./ws-client.js";
|
|
5
|
+
export { registerAgent, } from "./auth.js";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAO1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,GAQnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,GAIhB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAO1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,GAQnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,GAIhB,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EACL,aAAa,GAGd,MAAM,WAAW,CAAC"}
|
package/dist/runtime/errors.d.ts
CHANGED
|
@@ -43,5 +43,18 @@ export declare class AgentNotFoundError extends AgentNotFoundError_base<{
|
|
|
43
43
|
}> {
|
|
44
44
|
get message(): string;
|
|
45
45
|
}
|
|
46
|
+
declare const DuplicateServerRpcHandlerError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
47
|
+
readonly _tag: "DuplicateServerRpcHandlerError";
|
|
48
|
+
} & Readonly<A>;
|
|
49
|
+
/**
|
|
50
|
+
* `MoltZapWsClient.handleServerRpc` was called twice for the same method.
|
|
51
|
+
* Multiple registrations would silently shadow each other; the typed error
|
|
52
|
+
* forces the duplicate registration to surface at the call site.
|
|
53
|
+
*/
|
|
54
|
+
export declare class DuplicateServerRpcHandlerError extends DuplicateServerRpcHandlerError_base<{
|
|
55
|
+
readonly method: string;
|
|
56
|
+
}> {
|
|
57
|
+
get message(): string;
|
|
58
|
+
}
|
|
46
59
|
export {};
|
|
47
60
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":";;;AAEA,qEAAqE;AACrE,qBAAa,iBAAkB,SAAQ,uBAAsC;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;;;;AAEL,sEAAsE;AACtE,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;CAAG;;;;AAEL,qDAAqD;AACrD,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;;;;AAEL,iFAAiF;AACjF,qBAAa,mBAAoB,SAAQ,yBAEvC;IACA,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;CAAG;;;;AAEL,+CAA+C;AAC/C,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":";;;AAEA,qEAAqE;AACrE,qBAAa,iBAAkB,SAAQ,uBAAsC;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;;;;AAEL,sEAAsE;AACtE,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;CAAG;;;;AAEL,qDAAqD;AACrD,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;;;;AAEL,iFAAiF;AACjF,qBAAa,mBAAoB,SAAQ,yBAEvC;IACA,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;CAAG;;;;AAEL,+CAA+C;AAC/C,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;;;;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,oCAElD;IACA,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF"}
|
package/dist/runtime/errors.js
CHANGED
|
@@ -17,4 +17,14 @@ export class AgentNotFoundError extends Data.TaggedError("AgentNotFoundError") {
|
|
|
17
17
|
return `Agent not found: ${this.agentName}`;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* `MoltZapWsClient.handleServerRpc` was called twice for the same method.
|
|
22
|
+
* Multiple registrations would silently shadow each other; the typed error
|
|
23
|
+
* forces the duplicate registration to surface at the call site.
|
|
24
|
+
*/
|
|
25
|
+
export class DuplicateServerRpcHandlerError extends Data.TaggedError("DuplicateServerRpcHandlerError") {
|
|
26
|
+
get message() {
|
|
27
|
+
return `Server RPC handler already registered for method: ${this.method}`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
20
30
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qEAAqE;AACrE,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAEzE;CAAG;AAEL,sEAAsE;AACtE,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAGrE;CAAG;AAEL,qDAAqD;AACrD,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAInE;CAAG;AAEL,iFAAiF;AACjF,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CACvD,qBAAqB,CAIrB;CAAG;AAEL,+CAA+C;AAC/C,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAE3E;IACA,IAAa,OAAO;QAClB,OAAO,oBAAoB,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qEAAqE;AACrE,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAEzE;CAAG;AAEL,sEAAsE;AACtE,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAGrE;CAAG;AAEL,qDAAqD;AACrD,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAInE;CAAG;AAEL,iFAAiF;AACjF,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CACvD,qBAAqB,CAIrB;CAAG;AAEL,+CAA+C;AAC/C,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAE3E;IACA,IAAa,OAAO;QAClB,OAAO,oBAAoB,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,IAAI,CAAC,WAAW,CAClE,gCAAgC,CAGhC;IACA,IAAa,OAAO;QAClB,OAAO,qDAAqD,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5E,CAAC;CACF"}
|
package/dist/runtime/frame.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { type EventFrame, type ResponseFrame } from "@moltzap/protocol";
|
|
3
3
|
import { MalformedFrameError } from "./errors.js";
|
|
4
|
-
/** Decoded response frame — narrowed from the protocol's `ResponseFrame`. */
|
|
4
|
+
/** Decoded c2s response frame — narrowed from the protocol's `ResponseFrame`. */
|
|
5
5
|
export interface DecodedResponse {
|
|
6
6
|
readonly _tag: "Response";
|
|
7
7
|
readonly id: string;
|
|
@@ -13,7 +13,18 @@ export interface DecodedEvent {
|
|
|
13
13
|
readonly _tag: "Event";
|
|
14
14
|
readonly frame: EventFrame;
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Decoded server-initiated (s2c) request frame. The client routes these to
|
|
18
|
+
* its per-method handler registry; the server is the originator and awaits
|
|
19
|
+
* a matching `direction: "s2c"` response.
|
|
20
|
+
*/
|
|
21
|
+
export interface DecodedServerRequest {
|
|
22
|
+
readonly _tag: "ServerRequest";
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly method: string;
|
|
25
|
+
readonly params: unknown;
|
|
26
|
+
}
|
|
27
|
+
export type DecodedFrame = DecodedResponse | DecodedEvent | DecodedServerRequest;
|
|
17
28
|
export declare const splitRawFrames: (raw: string) => Effect.Effect<ReadonlyArray<string>, MalformedFrameError>;
|
|
18
29
|
/**
|
|
19
30
|
* Central typed inbound frame decoder. JSON.parse + shape validation via the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/runtime/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAEL,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/runtime/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,YAAY,GACZ,oBAAoB,CAAC;AA8CzB,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAsEvD,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAuB7D,CAAC"}
|
package/dist/runtime/frame.js
CHANGED
|
@@ -5,6 +5,12 @@ const isFramePadding = (char) => char === "\u0000" || char === "\ufeff" || /\s/u
|
|
|
5
5
|
const toDecodedFrame = (parsed) => {
|
|
6
6
|
if (validators.responseFrame(parsed)) {
|
|
7
7
|
const frame = parsed;
|
|
8
|
+
// Defense-in-depth: a `direction: "s2c"` response inbound on the
|
|
9
|
+
// client would correspond to a client-originated server reply — but
|
|
10
|
+
// the client never originates s2c requests, so route as malformed.
|
|
11
|
+
if (frame.direction !== "c2s") {
|
|
12
|
+
return new MalformedFrameError({ raw: JSON.stringify(parsed) });
|
|
13
|
+
}
|
|
8
14
|
return {
|
|
9
15
|
_tag: "Response",
|
|
10
16
|
id: frame.id,
|
|
@@ -12,6 +18,20 @@ const toDecodedFrame = (parsed) => {
|
|
|
12
18
|
error: frame.error,
|
|
13
19
|
};
|
|
14
20
|
}
|
|
21
|
+
if (validators.requestFrame(parsed)) {
|
|
22
|
+
const frame = parsed;
|
|
23
|
+
// Symmetric defense: a `direction: "c2s"` request inbound on the
|
|
24
|
+
// client would mean the server is acting as a client — never legal.
|
|
25
|
+
if (frame.direction !== "s2c") {
|
|
26
|
+
return new MalformedFrameError({ raw: JSON.stringify(parsed) });
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
_tag: "ServerRequest",
|
|
30
|
+
id: frame.id,
|
|
31
|
+
method: frame.method,
|
|
32
|
+
params: frame.params,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
15
35
|
if (validators.eventFrame(parsed)) {
|
|
16
36
|
return { _tag: "Event", frame: parsed };
|
|
17
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/runtime/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/runtime/frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.test.js","sourceRoot":"","sources":["../../src/runtime/frame.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,GAAG,GACP,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;SACxD,CAAC;YACF,UAAU;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;aACrB,CAAC,CAAC;QAEL,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;SACtC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"frame.test.js","sourceRoot":"","sources":["../../src/runtime/frame.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,GAAG,GACP,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;SACxD,CAAC;YACF,UAAU;YACV,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,KAAK;gBAChB,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;aACrB,CAAC,CAAC;QAEL,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;SACtC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/test/index.d.ts
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { MoltZapWsClient } from "../ws-client.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
/** Register a new agent via HTTP. Thin wrapper around the `/api/v1/auth/register`
|
|
10
|
-
* endpoint — the WebSocket dance is {@link MoltZapWsClient}'s job; this just
|
|
11
|
-
* returns the credentials tests need to feed it `agentKey` at construction. */
|
|
12
|
-
export declare const registerAgent: (baseUrl: string, name: string, opts?: {
|
|
13
|
-
description?: string;
|
|
14
|
-
inviteCode?: string;
|
|
15
|
-
}) => Effect.Effect<RegisterResponse, Error>;
|
|
3
|
+
import { type RegisterAgentOptions } from "../auth.js";
|
|
4
|
+
/** Back-compat re-exports. `registerAgent` and its types were promoted to
|
|
5
|
+
* the `@moltzap/client` root; this surface stays so existing test imports
|
|
6
|
+
* (`@moltzap/client/test`) keep working unchanged. New callers should
|
|
7
|
+
* import from `@moltzap/client` directly. */
|
|
8
|
+
export { registerAgent, type RegisterAgentOptions, type RegisterResponse, } from "../auth.js";
|
|
16
9
|
/** Strip the `/ws` suffix that test harnesses tack onto the WebSocket URL —
|
|
17
10
|
* `MoltZapWsClient` re-appends it internally. */
|
|
18
11
|
export declare const stripWsPath: (wsUrl: string) => string;
|
|
@@ -26,8 +19,5 @@ export interface ConnectedTestAgent {
|
|
|
26
19
|
/** Register a fresh agent, build a `MoltZapWsClient` with its apiKey, and
|
|
27
20
|
* complete the `auth/connect` handshake. Returns the live client ready for
|
|
28
21
|
* RPCs and event waits. Caller is responsible for `yield* client.close()`. */
|
|
29
|
-
export declare const registerAndConnect: (baseUrl: string, wsUrl: string, name: string, opts?:
|
|
30
|
-
description?: string;
|
|
31
|
-
inviteCode?: string;
|
|
32
|
-
}) => Effect.Effect<ConnectedTestAgent, Error>;
|
|
22
|
+
export declare const registerAndConnect: (baseUrl: string, wsUrl: string, name: string, opts?: RegisterAgentOptions) => Effect.Effect<ConnectedTestAgent, Error>;
|
|
33
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/test/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;6CAG6C;AAC7C,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAEpB;iDACiD;AACjD,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MACb,CAAC;AAEhC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;8EAE8E;AAC9E,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,OAAO,oBAAoB,KAC1B,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CActC,CAAC"}
|
package/dist/test/index.js
CHANGED
|
@@ -1,31 +1,11 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { MoltZapWsClient } from "../ws-client.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (opts?.description)
|
|
10
|
-
body.description = opts.description;
|
|
11
|
-
if (opts?.inviteCode)
|
|
12
|
-
body.inviteCode = opts.inviteCode;
|
|
13
|
-
return fetch(`${baseUrl}/api/v1/auth/register`, {
|
|
14
|
-
method: "POST",
|
|
15
|
-
headers: { "Content-Type": "application/json" },
|
|
16
|
-
body: JSON.stringify(body),
|
|
17
|
-
});
|
|
18
|
-
},
|
|
19
|
-
catch: (err) => (err instanceof Error ? err : new Error(String(err))),
|
|
20
|
-
}).pipe(Effect.flatMap((res) => res.ok
|
|
21
|
-
? Effect.tryPromise({
|
|
22
|
-
try: () => res.json(),
|
|
23
|
-
catch: (err) => err instanceof Error ? err : new Error(String(err)),
|
|
24
|
-
})
|
|
25
|
-
: Effect.tryPromise({
|
|
26
|
-
try: () => res.text(),
|
|
27
|
-
catch: (err) => err instanceof Error ? err : new Error(String(err)),
|
|
28
|
-
}).pipe(Effect.flatMap((text) => Effect.fail(new Error(`Register failed: ${res.status} ${text}`))))));
|
|
3
|
+
import { registerAgent } from "../auth.js";
|
|
4
|
+
/** Back-compat re-exports. `registerAgent` and its types were promoted to
|
|
5
|
+
* the `@moltzap/client` root; this surface stays so existing test imports
|
|
6
|
+
* (`@moltzap/client/test`) keep working unchanged. New callers should
|
|
7
|
+
* import from `@moltzap/client` directly. */
|
|
8
|
+
export { registerAgent, } from "../auth.js";
|
|
29
9
|
/** Strip the `/ws` suffix that test harnesses tack onto the WebSocket URL —
|
|
30
10
|
* `MoltZapWsClient` re-appends it internally. */
|
|
31
11
|
export const stripWsPath = (wsUrl) => wsUrl.replace(/\/ws\/?$/, "");
|
package/dist/test/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAA6B,MAAM,YAAY,CAAC;AAEtE;;;6CAG6C;AAC7C,OAAO,EACL,aAAa,GAGd,MAAM,YAAY,CAAC;AAEpB;iDACiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CACnD,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAUhC;;8EAE8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAe,EACf,KAAa,EACb,IAAY,EACZ,IAA2B,EACe,EAAE,CAC5C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC;QAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAC1B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CACrD,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CACjD,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-adapter.d.ts","sourceRoot":"","sources":["../../src/test-utils/conformance-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,MAAM,EAAO,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAGV,gBAAgB,EAEhB,wBAAwB,EAIzB,MAAM,2BAA2B,CAAC;AAInC;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA+BD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,wBAAwB,GAC7B,CAAC,IAAI,EAAE;IACR,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"conformance-adapter.d.ts","sourceRoot":"","sources":["../../src/test-utils/conformance-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,MAAM,EAAO,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAGV,gBAAgB,EAEhB,wBAAwB,EAIzB,MAAM,2BAA2B,CAAC;AAInC;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA+BD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,wBAAwB,GAC7B,CAAC,IAAI,EAAE;IACR,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC,CA2M3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-adapter.js","sourceRoot":"","sources":["../../src/test-utils/conformance-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conformance-adapter.js","sourceRoot":"","sources":["../../src/test-utils/conformance-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/ws-client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { type EventFrame, type RpcDefinition, type TSchema, type Static } from "@moltzap/protocol";
|
|
3
|
-
import { NotConnectedError, RpcServerError, RpcTimeoutError } from "./runtime/errors.js";
|
|
3
|
+
import { DuplicateServerRpcHandlerError, NotConnectedError, RpcServerError, RpcTimeoutError } from "./runtime/errors.js";
|
|
4
4
|
import { type EventSubscription, type SubscriberHandler, type SubscriptionFilter } from "./runtime/subscribers.js";
|
|
5
5
|
import { type CloseInfo } from "./runtime/close-info.js";
|
|
6
6
|
export type { CloseInfo };
|
|
@@ -12,6 +12,18 @@ export declare const RPC_TIMEOUT_MS = 30000;
|
|
|
12
12
|
export interface RpcCallOptions {
|
|
13
13
|
readonly timeoutMs?: number;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Handler signature for `handleServerRpc`. The handler returns an
|
|
17
|
+
* `Effect<unknown, RpcServerError>` — success values are encoded as the
|
|
18
|
+
* response `result`; typed RPC errors are encoded as the response
|
|
19
|
+
* `error`. Defects (handler crashes, non-tagged exceptions) collapse to a
|
|
20
|
+
* generic InternalError reply.
|
|
21
|
+
*
|
|
22
|
+
* The `unknown`/`unknown` parameter and result types are transitional —
|
|
23
|
+
* once Phase 1.1 (B.2) registers admission verbs in `s2cRpcMethods`, this
|
|
24
|
+
* narrows generically against `S2cRpcMap[M]`.
|
|
25
|
+
*/
|
|
26
|
+
export type ServerRpcHandler = (params: unknown) => Effect.Effect<unknown, RpcServerError>;
|
|
15
27
|
export interface WsClientLogger {
|
|
16
28
|
info: (...args: unknown[]) => void;
|
|
17
29
|
warn: (...args: unknown[]) => void;
|
|
@@ -89,11 +101,32 @@ export declare class MoltZapWsClient {
|
|
|
89
101
|
* delegates to it directly.
|
|
90
102
|
*/
|
|
91
103
|
private readonly subscribers;
|
|
104
|
+
/**
|
|
105
|
+
* Per-method handler registry for server-initiated RPCs. Survives
|
|
106
|
+
* reconnects so apps register once and re-attach automatically when the
|
|
107
|
+
* socket comes back. Each entry is invoked by the per-connection
|
|
108
|
+
* dispatcher fiber when an s2c request frame arrives.
|
|
109
|
+
*/
|
|
110
|
+
private readonly s2cHandlersRef;
|
|
92
111
|
private requestCounter;
|
|
93
112
|
private closed;
|
|
94
113
|
private reconnectFiber;
|
|
95
114
|
private _helloOk;
|
|
96
115
|
constructor(options: MoltZapWsClientOptions);
|
|
116
|
+
/**
|
|
117
|
+
* Register a handler for a server-initiated RPC method. Survives
|
|
118
|
+
* reconnects — the registry lives on the client, not the per-connection
|
|
119
|
+
* `ConnState`. Returns `Effect<void>` that fails with
|
|
120
|
+
* `DuplicateServerRpcHandlerError` if a handler for `method` is already
|
|
121
|
+
* registered (shadowing the existing one would silently swap behaviour
|
|
122
|
+
* mid-flight).
|
|
123
|
+
*
|
|
124
|
+
* The dispatcher fiber forked at `connect()` time picks up handlers via
|
|
125
|
+
* `Ref.get` per-frame, so a registration made BEFORE `connect()` is
|
|
126
|
+
* visible to the very first inbound s2c request, and a registration
|
|
127
|
+
* made AFTER `connect()` takes effect on the next inbound frame.
|
|
128
|
+
*/
|
|
129
|
+
handleServerRpc(method: string, handler: ServerRpcHandler): Effect.Effect<void, DuplicateServerRpcHandlerError>;
|
|
97
130
|
get helloOk(): unknown;
|
|
98
131
|
/** Open the socket, perform auth/connect, resolve with HelloOk. Fails
|
|
99
132
|
* immediately on pre-open close or error. */
|
|
@@ -170,6 +203,22 @@ export declare class MoltZapWsClient {
|
|
|
170
203
|
* race described below.
|
|
171
204
|
*/
|
|
172
205
|
private sendRpcEffect;
|
|
206
|
+
/**
|
|
207
|
+
* Dispatch one inbound s2c request to the registered handler, encode
|
|
208
|
+
* the response, and write it back to the server. Errors are projected
|
|
209
|
+
* onto an error response so the server's `Deferred.await` always
|
|
210
|
+
* settles deterministically — never hangs on a missing or crashing
|
|
211
|
+
* handler.
|
|
212
|
+
*
|
|
213
|
+
* Cases:
|
|
214
|
+
* - Handler registered + Effect succeeds → encode `result`.
|
|
215
|
+
* - Handler registered + Effect fails (RpcServerError) → encode
|
|
216
|
+
* `error` from the tag.
|
|
217
|
+
* - Handler registered + Effect defects (untagged crash) →
|
|
218
|
+
* encode generic InternalError, log the cause.
|
|
219
|
+
* - No handler registered → encode MethodNotFound error response.
|
|
220
|
+
*/
|
|
221
|
+
private dispatchInboundServerRequest;
|
|
173
222
|
/** Route an inbound frame. Malformed frames are logged + dropped; event
|
|
174
223
|
* frames dispatch to `onEvent` after the shape check. */
|
|
175
224
|
private handleIncoming;
|
package/dist/ws-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"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"}
|