@vibes.diy/api-impl 12.2.10 → 12.2.12

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": "12.2.10",
3
+ "version": "12.2.12",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -9,11 +9,11 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@adviser/cement": "~0.5.34",
12
- "@vibes.diy/api-pkg": "12.2.10",
13
- "@vibes.diy/api-types": "12.2.10",
14
- "@vibes.diy/call-ai-v2": "12.2.10",
15
- "@vibes.diy/identity": "12.2.10",
16
- "@vibes.diy/vibe-types": "12.2.10",
12
+ "@vibes.diy/api-pkg": "12.2.12",
13
+ "@vibes.diy/api-types": "12.2.12",
14
+ "@vibes.diy/call-ai-v2": "12.2.12",
15
+ "@vibes.diy/identity": "12.2.12",
16
+ "@vibes.diy/vibe-types": "12.2.12",
17
17
  "arktype": "~2.2.3",
18
18
  "ws": "~8.21.1"
19
19
  },
@@ -1,3 +1,4 @@
1
1
  import { VibeDiyApiConnection } from "./api-connection.js";
2
2
  export declare function formatWsEvent(event: unknown): string;
3
+ export declare function createWebSocket(url: string, ca?: string[]): Promise<WebSocket>;
3
4
  export declare function getVibesDiyWebSocketConnection(url: string, presetWs?: WebSocket, ca?: string[]): Promise<VibeDiyApiConnection>;
@@ -1,4 +1,4 @@
1
- import { BuildURI, exception2Result, Future, KeyedResolvOnce, OnFunc, Result, runtimeFn, URI } from "@adviser/cement";
1
+ import { BuildURI, exception2Result, Future, KeyedResolvOnce, OnFunc, Result, URI } from "@adviser/cement";
2
2
  const vibesDiyApiPerConnection = new KeyedResolvOnce();
3
3
  export function formatWsEvent(event) {
4
4
  if (event === null || event === undefined)
@@ -25,12 +25,12 @@ export function formatWsEvent(event) {
25
25
  return Object.prototype.toString.call(event);
26
26
  }
27
27
  }
28
- async function createWebSocket(url, ca) {
29
- if (!runtimeFn().isBrowser) {
30
- const ws = await import("ws");
31
- return new ws.WebSocket(url, { ca });
28
+ export async function createWebSocket(url, ca) {
29
+ if (typeof globalThis.WebSocket !== "undefined" && ca === undefined) {
30
+ return new WebSocket(url);
32
31
  }
33
- return new WebSocket(url);
32
+ const ws = await import("ws");
33
+ return new ws.WebSocket(url, { ca });
34
34
  }
35
35
  export function getVibesDiyWebSocketConnection(url, presetWs, ca) {
36
36
  const wsSocketUrl = BuildURI.from(url)
@@ -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;AAO7E,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,KAA+G,CAAC;IAC5H,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC9E,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAClH,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,OAAO,QAAQ,GAAG,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IACrE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,EAAa;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;QAG3B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAyB,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAW,EAAE,QAAoB,EAAE,EAAa;IAC7F,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SACnC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;SAC7F,QAAQ,EAAE,CAAC;IACd,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAa,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,EAA2C,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,EAA6C,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,EAA2C,CAAC;QAElE,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,MAAM,GAAG,KAAK,CAAC;QAInB,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpF,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,GAAW,EAAgB,EAAE;YACzC,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;YACf,MAAM,GAAG,IAAI,CAAC;YACd,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACrB,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAwC,EAAE,CAAC,CAAC;YACxF,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACrB,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxG,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YACvB,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,GAAG,IAAI,CAAC;YACd,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,EAAE,EAAE;YACP,OAAO;YACP,SAAS;YACT,OAAO;YACP,KAAK,EAAE,GAAG,EAAE;gBACV,cAAc,EAAE,CAAC;gBACjB,WAAW,EAAE,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,EAAE,CAAC,IAA6B,EAAgB,EAAE;gBACpD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC9E,OAAO,IAAI,CAAC,qCAAqC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"websocket-connection.js","sourceRoot":"","sources":["../jsr/websocket-connection.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,22 @@
1
- import { describe, expect, it } from "vitest";
2
- import { formatWsEvent } from "./websocket-connection.js";
1
+ import { afterEach, describe, expect, it, vi } from "vitest";
2
+ const wsMockState = vi.hoisted(() => ({ throwOnAccess: true }));
3
+ class MockWsWebSocket {
4
+ url;
5
+ opts;
6
+ constructor(url, opts) {
7
+ this.url = url;
8
+ this.opts = opts;
9
+ }
10
+ }
11
+ vi.mock("ws", () => ({
12
+ get WebSocket() {
13
+ if (wsMockState.throwOnAccess) {
14
+ throw new Error("ws should not be imported when a global WebSocket is available and no ca is set");
15
+ }
16
+ return MockWsWebSocket;
17
+ },
18
+ }));
19
+ const { createWebSocket, formatWsEvent } = await import("./websocket-connection.js");
3
20
  describe("formatWsEvent", () => {
4
21
  it("returns strings verbatim", () => {
5
22
  expect(formatWsEvent("network down")).toBe("network down");
@@ -36,4 +53,41 @@ describe("formatWsEvent", () => {
36
53
  }
37
54
  });
38
55
  });
56
+ describe("createWebSocket", () => {
57
+ afterEach(() => {
58
+ vi.unstubAllGlobals();
59
+ wsMockState.throwOnAccess = true;
60
+ });
61
+ it("uses the global WebSocket constructor when present and no ca is configured, without importing ws", async () => {
62
+ class FakeGlobalWebSocket {
63
+ url;
64
+ constructor(url) {
65
+ this.url = url;
66
+ }
67
+ }
68
+ vi.stubGlobal("WebSocket", FakeGlobalWebSocket);
69
+ const socket = await createWebSocket("wss://example.test/socket");
70
+ expect(socket).toBeInstanceOf(FakeGlobalWebSocket);
71
+ expect(socket.url).toBe("wss://example.test/socket");
72
+ });
73
+ it("still falls back to ws when a custom ca is configured, even with a global WebSocket present", async () => {
74
+ class FakeGlobalWebSocket {
75
+ url;
76
+ constructor(url) {
77
+ this.url = url;
78
+ }
79
+ }
80
+ vi.stubGlobal("WebSocket", FakeGlobalWebSocket);
81
+ wsMockState.throwOnAccess = false;
82
+ const socket = await createWebSocket("wss://example.test/socket", ["-----BEGIN CERTIFICATE-----"]);
83
+ expect(socket).toBeInstanceOf(MockWsWebSocket);
84
+ expect(socket.opts?.ca).toEqual(["-----BEGIN CERTIFICATE-----"]);
85
+ });
86
+ it("falls back to ws when no global WebSocket is available", async () => {
87
+ vi.stubGlobal("WebSocket", undefined);
88
+ wsMockState.throwOnAccess = false;
89
+ const socket = await createWebSocket("wss://example.test/socket");
90
+ expect(socket).toBeInstanceOf(MockWsWebSocket);
91
+ });
92
+ });
39
93
  //# sourceMappingURL=websocket-connection.test.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"websocket-connection.test.js","sourceRoot":"","sources":["../jsr/websocket-connection.test.ts"],"names":[],"mappings":"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"}