@vibes.diy/api-impl 2.2.13-dev.1 → 2.2.13-dev.3
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-impl",
|
|
3
|
-
"version": "2.2.13-dev.
|
|
3
|
+
"version": "2.2.13-dev.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"@fireproof/core-runtime": "~0.24.19",
|
|
13
13
|
"@fireproof/core-types-base": "~0.24.19",
|
|
14
14
|
"@fireproof/core-types-protocols-dashboard": "~0.24.19",
|
|
15
|
-
"@vibes.diy/api-pkg": "2.2.13-dev.
|
|
16
|
-
"@vibes.diy/api-types": "2.2.13-dev.
|
|
17
|
-
"@vibes.diy/call-ai-v2": "2.2.13-dev.
|
|
18
|
-
"@vibes.diy/vibe-types": "2.2.13-dev.
|
|
15
|
+
"@vibes.diy/api-pkg": "2.2.13-dev.3",
|
|
16
|
+
"@vibes.diy/api-types": "2.2.13-dev.3",
|
|
17
|
+
"@vibes.diy/call-ai-v2": "2.2.13-dev.3",
|
|
18
|
+
"@vibes.diy/vibe-types": "2.2.13-dev.3",
|
|
19
19
|
"arktype": "~2.2.0",
|
|
20
20
|
"ws": "~8.20.0"
|
|
21
21
|
},
|
package/websocket-connection.js
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
import { BuildURI, exception2Result, Future, KeyedResolvOnce, OnFunc, Result, runtimeFn, URI } from "@adviser/cement";
|
|
2
2
|
const vibesDiyApiPerConnection = new KeyedResolvOnce();
|
|
3
|
+
export function formatWsEvent(event) {
|
|
4
|
+
if (event === null || event === undefined)
|
|
5
|
+
return String(event);
|
|
6
|
+
if (typeof event === "string")
|
|
7
|
+
return event;
|
|
8
|
+
if (typeof event !== "object")
|
|
9
|
+
return String(event);
|
|
10
|
+
const obj = event;
|
|
11
|
+
if (typeof obj.message === "string" && obj.message !== "")
|
|
12
|
+
return obj.message;
|
|
13
|
+
if (obj.error && typeof obj.error === "object" && typeof obj.error.message === "string")
|
|
14
|
+
return obj.error.message;
|
|
15
|
+
if (typeof obj.code === "string" || typeof obj.code === "number") {
|
|
16
|
+
const reason = typeof obj.reason === "string" && obj.reason !== "" ? ` ${obj.reason}` : "";
|
|
17
|
+
return `code=${obj.code}${reason}`;
|
|
18
|
+
}
|
|
19
|
+
if (typeof obj.type === "string" && obj.type !== "")
|
|
20
|
+
return obj.type;
|
|
21
|
+
try {
|
|
22
|
+
return JSON.stringify(event);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return Object.prototype.toString.call(event);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
3
28
|
async function createWebSocket(url, ca) {
|
|
4
29
|
if (!runtimeFn().isBrowser) {
|
|
5
30
|
const ws = await import("ws");
|
|
@@ -39,7 +64,7 @@ export function getVibesDiyWebSocketConnection(url, presetWs, ca) {
|
|
|
39
64
|
onError.invoke({ type: "ErrorEvent", event: event });
|
|
40
65
|
evictIfCurrent();
|
|
41
66
|
if (!opened) {
|
|
42
|
-
waitOpen.reject(new Error(`WebSocket error: ${event}`));
|
|
67
|
+
waitOpen.reject(new Error(`WebSocket error: ${formatWsEvent(event)}`));
|
|
43
68
|
}
|
|
44
69
|
};
|
|
45
70
|
ws.onclose = (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-connection.js","sourceRoot":"","sources":["../jsr/websocket-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAItH,MAAM,wBAAwB,GAAG,IAAI,eAAe,EAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-connection.js","sourceRoot":"","sources":["../jsr/websocket-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { formatWsEvent } from "./websocket-connection.js";
|
|
3
|
+
describe("formatWsEvent", () => {
|
|
4
|
+
it("returns strings verbatim", () => {
|
|
5
|
+
expect(formatWsEvent("network down")).toBe("network down");
|
|
6
|
+
});
|
|
7
|
+
it("unwraps ws-library Error-like events to their message", () => {
|
|
8
|
+
expect(formatWsEvent({ message: "ENOTFOUND vibes.diy" })).toBe("ENOTFOUND vibes.diy");
|
|
9
|
+
});
|
|
10
|
+
it("unwraps nested error.message", () => {
|
|
11
|
+
expect(formatWsEvent({ error: { message: "ECONNRESET" }, type: "error" })).toBe("ECONNRESET");
|
|
12
|
+
});
|
|
13
|
+
it("formats close-event style payloads with code + reason", () => {
|
|
14
|
+
expect(formatWsEvent({ code: 1006, reason: "abnormal closure" })).toBe("code=1006 abnormal closure");
|
|
15
|
+
});
|
|
16
|
+
it("falls back to event.type if nothing else is useful", () => {
|
|
17
|
+
expect(formatWsEvent({ type: "error" })).toBe("error");
|
|
18
|
+
});
|
|
19
|
+
it("falls back to JSON for unknown shapes", () => {
|
|
20
|
+
expect(formatWsEvent({ foo: 1 })).toBe('{"foo":1}');
|
|
21
|
+
});
|
|
22
|
+
it("never produces the literal '[object Object]'", () => {
|
|
23
|
+
const cases = [
|
|
24
|
+
"string",
|
|
25
|
+
{ message: "m" },
|
|
26
|
+
{ error: { message: "m" } },
|
|
27
|
+
{ code: 1006, reason: "x" },
|
|
28
|
+
{ type: "error" },
|
|
29
|
+
{ foo: 1 },
|
|
30
|
+
null,
|
|
31
|
+
undefined,
|
|
32
|
+
42,
|
|
33
|
+
];
|
|
34
|
+
for (const c of cases) {
|
|
35
|
+
expect(formatWsEvent(c)).not.toBe("[object Object]");
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=websocket-connection.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-connection.test.js","sourceRoot":"","sources":["../jsr/websocket-connection.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,KAAK,GAAc;YACvB,QAAQ;YACR,EAAE,OAAO,EAAE,GAAG,EAAE;YAChB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;YAC3B,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,GAAG,EAAE,CAAC,EAAE;YACV,IAAI;YACJ,SAAS;YACT,EAAE;SACH,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|