@vibes.diy/api-impl 2.2.12 → 2.2.13-dev.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.
@@ -0,0 +1,28 @@
1
+ import { type Result } from "@adviser/cement";
2
+ import { type ResPutDoc, type ResGetDoc, type ResGetDocNotFound, type ResQueryDocs, type ResDeleteDoc, type ResSubscribeDocs, type VibesDiyError } from "@vibes.diy/api-types";
3
+ import type { VibesDiyApi } from "./index.js";
4
+ export declare class FireflyApiAdapter {
5
+ readonly svc: {
6
+ readonly vibeApp: {
7
+ userSlug: string;
8
+ appSlug: string;
9
+ fsId: string;
10
+ };
11
+ };
12
+ private readonly api;
13
+ private readonly userSlugOverride;
14
+ private readonly userSlugOnce;
15
+ constructor(api: VibesDiyApi, appSlug: string, opts?: {
16
+ userSlug?: string;
17
+ });
18
+ resolveUserSlug(): Promise<string>;
19
+ putDoc(doc: Record<string, unknown>, docId?: string, dbName?: string): Promise<Result<ResPutDoc, VibesDiyError>>;
20
+ getDoc(docId: string, dbName?: string): Promise<Result<ResGetDoc | ResGetDocNotFound, VibesDiyError>>;
21
+ queryDocs(dbName?: string): Promise<Result<ResQueryDocs, VibesDiyError>>;
22
+ deleteDoc(docId: string, dbName?: string): Promise<Result<ResDeleteDoc, VibesDiyError>>;
23
+ subscribeDocs(dbName?: string): Promise<Result<ResSubscribeDocs, VibesDiyError>>;
24
+ putAsset(_blob: Blob, _mimeType?: string): Promise<Result<unknown>>;
25
+ onMsg(fn: (event: {
26
+ data: unknown;
27
+ }) => void): void;
28
+ }
@@ -0,0 +1,96 @@
1
+ import { ResolveOnce } from "@adviser/cement";
2
+ import { isUserSettingDefaultUserSlug, } from "@vibes.diy/api-types";
3
+ export class FireflyApiAdapter {
4
+ svc;
5
+ api;
6
+ userSlugOverride;
7
+ userSlugOnce = new ResolveOnce();
8
+ constructor(api, appSlug, opts) {
9
+ this.api = api;
10
+ this.userSlugOverride = opts?.userSlug;
11
+ this.svc = {
12
+ vibeApp: {
13
+ appSlug,
14
+ userSlug: opts?.userSlug ?? "",
15
+ fsId: "",
16
+ },
17
+ };
18
+ }
19
+ async resolveUserSlug() {
20
+ if (this.userSlugOverride !== undefined)
21
+ return this.userSlugOverride;
22
+ return this.userSlugOnce.once(async () => {
23
+ const rRes = await this.api.ensureUserSettings({ settings: [] });
24
+ if (rRes.isErr()) {
25
+ throw new Error(`Failed to load user settings: ${rRes.Err()}`);
26
+ }
27
+ const def = rRes.Ok().settings.find(isUserSettingDefaultUserSlug);
28
+ if (def === undefined) {
29
+ throw new Error("No defaultUserSlug — pass {userSlug} or run 'npx vibes-diy login' first");
30
+ }
31
+ this.svc.vibeApp.userSlug = def.userSlug;
32
+ return def.userSlug;
33
+ });
34
+ }
35
+ async putDoc(doc, docId, dbName = "default") {
36
+ const userSlug = await this.resolveUserSlug();
37
+ return this.api.putDoc({
38
+ appSlug: this.svc.vibeApp.appSlug,
39
+ userSlug,
40
+ dbName,
41
+ doc,
42
+ ...(docId ? { docId } : {}),
43
+ });
44
+ }
45
+ async getDoc(docId, dbName = "default") {
46
+ const userSlug = await this.resolveUserSlug();
47
+ return this.api.getDoc({
48
+ appSlug: this.svc.vibeApp.appSlug,
49
+ userSlug,
50
+ dbName,
51
+ docId,
52
+ });
53
+ }
54
+ async queryDocs(dbName = "default") {
55
+ const userSlug = await this.resolveUserSlug();
56
+ return this.api.queryDocs({
57
+ appSlug: this.svc.vibeApp.appSlug,
58
+ userSlug,
59
+ dbName,
60
+ });
61
+ }
62
+ async deleteDoc(docId, dbName = "default") {
63
+ const userSlug = await this.resolveUserSlug();
64
+ return this.api.deleteDoc({
65
+ appSlug: this.svc.vibeApp.appSlug,
66
+ userSlug,
67
+ dbName,
68
+ docId,
69
+ });
70
+ }
71
+ async subscribeDocs(dbName = "default") {
72
+ const userSlug = await this.resolveUserSlug();
73
+ return this.api.subscribeDocs({
74
+ appSlug: this.svc.vibeApp.appSlug,
75
+ userSlug,
76
+ dbName,
77
+ });
78
+ }
79
+ async putAsset(_blob, _mimeType) {
80
+ throw new Error("file uploads not supported in standalone fireproof — coming in a future release");
81
+ }
82
+ onMsg(fn) {
83
+ this.api.onDocChanged((userSlug, appSlug, dbName, docId) => {
84
+ fn({
85
+ data: {
86
+ type: "vibes.diy.evt-doc-changed",
87
+ userSlug,
88
+ appSlug,
89
+ dbName,
90
+ docId,
91
+ },
92
+ });
93
+ });
94
+ }
95
+ }
96
+ //# sourceMappingURL=firefly-api-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firefly-api-adapter.js","sourceRoot":"","sources":["../jsr/firefly-api-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,146 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ import { Result } from "@adviser/cement";
3
+ import { FireflyApiAdapter } from "./firefly-api-adapter.js";
4
+ function fakeVibesDiyApi(overrides = {}) {
5
+ return {
6
+ ensureUserSettings: vi.fn(async () => Result.Ok({
7
+ type: "vibes.diy.res-ensure-user-settings",
8
+ userId: "user-1",
9
+ settings: [{ type: "defaultUserSlug", userSlug: "alice" }],
10
+ updated: "now",
11
+ created: "now",
12
+ })),
13
+ onDocChanged: vi.fn(() => () => undefined),
14
+ ...overrides,
15
+ };
16
+ }
17
+ describe("FireflyApiAdapter", () => {
18
+ it("exposes svc.vibeApp.appSlug from constructor", () => {
19
+ const adapter = new FireflyApiAdapter(fakeVibesDiyApi(), "my-app");
20
+ expect(adapter.svc.vibeApp.appSlug).toBe("my-app");
21
+ });
22
+ it("resolves userSlug from ensureUserSettings.defaultUserSlug on first request", async () => {
23
+ const api = fakeVibesDiyApi();
24
+ const adapter = new FireflyApiAdapter(api, "my-app");
25
+ const slug = await adapter.resolveUserSlug();
26
+ expect(slug).toBe("alice");
27
+ expect(api.ensureUserSettings).toHaveBeenCalledTimes(1);
28
+ await adapter.resolveUserSlug();
29
+ expect(api.ensureUserSettings).toHaveBeenCalledTimes(1);
30
+ });
31
+ it("uses opts.userSlug override and skips ensureUserSettings", async () => {
32
+ const api = fakeVibesDiyApi();
33
+ const adapter = new FireflyApiAdapter(api, "my-app", { userSlug: "bob" });
34
+ expect(await adapter.resolveUserSlug()).toBe("bob");
35
+ expect(api.ensureUserSettings).not.toHaveBeenCalled();
36
+ });
37
+ it("throws when ensureUserSettings has no defaultUserSlug entry", async () => {
38
+ const api = fakeVibesDiyApi({
39
+ ensureUserSettings: vi.fn(async () => Result.Ok({
40
+ type: "vibes.diy.res-ensure-user-settings",
41
+ userId: "user-1",
42
+ settings: [],
43
+ updated: "now",
44
+ created: "now",
45
+ })),
46
+ });
47
+ const adapter = new FireflyApiAdapter(api, "my-app");
48
+ await expect(adapter.resolveUserSlug()).rejects.toThrow(/defaultUserSlug/);
49
+ });
50
+ it("putDoc translates positional call to request object with appSlug+userSlug+dbName", async () => {
51
+ const putDoc = vi.fn(async () => Result.Ok({ type: "vibes.diy.res-put-doc", status: "ok", id: "doc-1" }));
52
+ const api = fakeVibesDiyApi({ putDoc });
53
+ const adapter = new FireflyApiAdapter(api, "my-app");
54
+ const res = await adapter.putDoc({ text: "hello" }, "doc-1", "todos");
55
+ expect(res.isOk()).toBe(true);
56
+ expect(putDoc).toHaveBeenCalledWith({
57
+ appSlug: "my-app",
58
+ userSlug: "alice",
59
+ dbName: "todos",
60
+ doc: { text: "hello" },
61
+ docId: "doc-1",
62
+ });
63
+ });
64
+ it("putDoc defaults dbName to 'default' when omitted", async () => {
65
+ const putDoc = vi.fn(async () => Result.Ok({ type: "vibes.diy.res-put-doc", status: "ok", id: "x" }));
66
+ const api = fakeVibesDiyApi({ putDoc });
67
+ const adapter = new FireflyApiAdapter(api, "my-app");
68
+ await adapter.putDoc({ a: 1 });
69
+ expect(putDoc).toHaveBeenCalledWith(expect.objectContaining({ dbName: "default" }));
70
+ });
71
+ it("getDoc routes through VibesDiyApi.getDoc", async () => {
72
+ const getDoc = vi.fn(async () => Result.Ok({ type: "vibes.diy.res-get-doc", status: "ok", id: "doc-1", doc: { text: "hi" } }));
73
+ const api = fakeVibesDiyApi({ getDoc });
74
+ const adapter = new FireflyApiAdapter(api, "my-app");
75
+ await adapter.getDoc("doc-1", "todos");
76
+ expect(getDoc).toHaveBeenCalledWith({
77
+ appSlug: "my-app",
78
+ userSlug: "alice",
79
+ dbName: "todos",
80
+ docId: "doc-1",
81
+ });
82
+ });
83
+ it("queryDocs routes through VibesDiyApi.queryDocs", async () => {
84
+ const queryDocs = vi.fn(async () => Result.Ok({ type: "vibes.diy.res-query-docs", status: "ok", docs: [] }));
85
+ const api = fakeVibesDiyApi({ queryDocs });
86
+ const adapter = new FireflyApiAdapter(api, "my-app");
87
+ await adapter.queryDocs("todos");
88
+ expect(queryDocs).toHaveBeenCalledWith({ appSlug: "my-app", userSlug: "alice", dbName: "todos" });
89
+ });
90
+ it("deleteDoc routes through VibesDiyApi.deleteDoc", async () => {
91
+ const deleteDoc = vi.fn(async () => Result.Ok({ type: "vibes.diy.res-delete-doc", status: "ok", id: "doc-1" }));
92
+ const api = fakeVibesDiyApi({ deleteDoc });
93
+ const adapter = new FireflyApiAdapter(api, "my-app");
94
+ await adapter.deleteDoc("doc-1", "todos");
95
+ expect(deleteDoc).toHaveBeenCalledWith({
96
+ appSlug: "my-app",
97
+ userSlug: "alice",
98
+ dbName: "todos",
99
+ docId: "doc-1",
100
+ });
101
+ });
102
+ it("subscribeDocs routes through VibesDiyApi.subscribeDocs", async () => {
103
+ const subscribeDocs = vi.fn(async () => Result.Ok({ type: "vibes.diy.res-subscribe-docs", status: "ok" }));
104
+ const api = fakeVibesDiyApi({ subscribeDocs });
105
+ const adapter = new FireflyApiAdapter(api, "my-app");
106
+ await adapter.subscribeDocs("todos");
107
+ expect(subscribeDocs).toHaveBeenCalledWith({ appSlug: "my-app", userSlug: "alice", dbName: "todos" });
108
+ });
109
+ it("putAsset throws — file uploads not supported in v1", async () => {
110
+ const adapter = new FireflyApiAdapter(fakeVibesDiyApi(), "my-app");
111
+ await expect(adapter.putAsset(new Blob(["x"]))).rejects.toThrow(/file uploads not supported/i);
112
+ });
113
+ it("multiple onMsg subscribers each receive events independently", () => {
114
+ const onDocChanged = vi.fn(() => () => undefined);
115
+ const api = fakeVibesDiyApi({ onDocChanged });
116
+ const adapter = new FireflyApiAdapter(api, "my-app");
117
+ const seenA = [];
118
+ const seenB = [];
119
+ adapter.onMsg((e) => seenA.push(e.data));
120
+ adapter.onMsg((e) => seenB.push(e.data));
121
+ expect(onDocChanged).toHaveBeenCalledTimes(2);
122
+ });
123
+ it("onMsg synthesizes evt-doc-changed events from VibesDiyApi.onDocChanged", () => {
124
+ let captured;
125
+ const onDocChanged = vi.fn((fn) => {
126
+ captured = fn;
127
+ return () => undefined;
128
+ });
129
+ const api = fakeVibesDiyApi({ onDocChanged });
130
+ const adapter = new FireflyApiAdapter(api, "my-app");
131
+ const seen = [];
132
+ adapter.onMsg((event) => seen.push(event.data));
133
+ expect(captured).toBeDefined();
134
+ captured?.("alice", "my-app", "todos", "doc-1");
135
+ expect(seen).toEqual([
136
+ {
137
+ type: "vibes.diy.evt-doc-changed",
138
+ userSlug: "alice",
139
+ appSlug: "my-app",
140
+ dbName: "todos",
141
+ docId: "doc-1",
142
+ },
143
+ ]);
144
+ });
145
+ });
146
+ //# sourceMappingURL=firefly-api-adapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firefly-api-adapter.test.js","sourceRoot":"","sources":["../jsr/firefly-api-adapter.test.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- import { MsgBase, MsgBaseCfg, ReqEnsureAppSlug, ResEnsureAppSlug, ResultVibesDiy, VibesDiyError, MsgBox, ReqOpenChat, ReqListUserSlugAppSlug, ResListUserSlugAppSlug, ReqListRecentVibes, ResListRecentVibes, ReqGetChatDetails, ResGetChatDetails, ReqGetAppByFsId, ResGetAppByFsId, VibesDiyApiIface, OptionalAuth, Req, LLMChat, ReqEnsureUserSettings, ResEnsureUserSettings, ReqListApplicationChats, ResListApplicationChats, ReqEnsureAppSettings, ResEnsureAppSettings, ReqSetModeFs, ResSetModeFs, ReqForkApp, ResForkApp, ReqFPCloudToken, ResFPCloudToken, ReqCreateInvite, ResCreateInvite, ReqRevokeInvite, ResRevokeInvite, ReqRedeemInvite, ResRedeemInviteOK, ReqHasAccessInvite, ResHasAccessInvite, ReqInviteSetRole, ResInviteSetRole, ReqListInviteGrants, ResListInviteGrants, ReqListRequestGrants, ResListRequestGrants, ReqRequestAccess, ReqApproveRequest, ResApproveRequest, ReqRequestSetRole, ResRequestSetRole, ReqRevokeRequest, ResRevokeRequest, ReqHasAccessRequest, ResHasAccessRequest, ResRequestAccess, ReqListUserSlugBindings, ResListUserSlugBindings, ReqCreateUserSlugBinding, ResCreateUserSlugBinding, ReqDeleteUserSlugBinding, ResDeleteUserSlugBinding, ReqPutDoc, ResPutDoc, ReqGetDoc, ResGetDoc, ResGetDocNotFound, ReqQueryDocs, ResQueryDocs, ReqDeleteDoc, ResDeleteDoc, ReqSubscribeDocs, ResSubscribeDocs, ReqListDbNames, ResListDbNames, ReqListMembers, ResListMembers, ReqAssetUploadGrant, ResAssetUploadGrant } from "@vibes.diy/api-types";
1
+ import { MsgBase, MsgBaseCfg, ReqEnsureAppSlug, ResEnsureAppSlug, ResultVibesDiy, VibesDiyError, MsgBox, ReqOpenChat, ReqListUserSlugAppSlug, ResListUserSlugAppSlug, ReqListRecentVibes, ResListRecentVibes, ReqGetChatDetails, ResGetChatDetails, ReqGetAppByFsId, ResGetAppByFsId, VibesDiyApiIface, OptionalAuth, Req, LLMChat, ReqEnsureUserSettings, ResEnsureUserSettings, ReqListApplicationChats, ResListApplicationChats, ReqEnsureAppSettings, ResEnsureAppSettings, ReqSetModeFs, ResSetModeFs, ReqForkApp, ResForkApp, ReqFPCloudToken, ResFPCloudToken, ReqCreateInvite, ResCreateInvite, ReqRevokeInvite, ResRevokeInvite, ReqRedeemInvite, ResRedeemInviteOK, ReqHasAccessInvite, ResHasAccessInvite, ReqInviteSetRole, ResInviteSetRole, ReqListInviteGrants, ResListInviteGrants, ReqListRequestGrants, ResListRequestGrants, ReqSubscribeRequestGrants, ResSubscribeRequestGrants, ReqRequestAccess, ReqApproveRequest, ResApproveRequest, ReqRequestSetRole, ResRequestSetRole, ReqRevokeRequest, ResRevokeRequest, ReqHasAccessRequest, ResHasAccessRequest, ResRequestAccess, ReqListUserSlugBindings, ResListUserSlugBindings, ReqCreateUserSlugBinding, ResCreateUserSlugBinding, ReqDeleteUserSlugBinding, ResDeleteUserSlugBinding, ReqPutDoc, ResPutDoc, ReqGetDoc, ResGetDoc, ResGetDocNotFound, ReqQueryDocs, ResQueryDocs, ReqDeleteDoc, ResDeleteDoc, ReqSubscribeDocs, ResSubscribeDocs, ReqListDbNames, ResListDbNames, ReqListMembers, ResListMembers, ReqAssetUploadGrant, ResAssetUploadGrant, EvtRequestGrant } from "@vibes.diy/api-types";
2
2
  import { Result } from "@adviser/cement";
3
3
  import { ClerkClaim, SuperThis } from "@fireproof/core-types-base";
4
4
  import { VibeDiyApiConnection } from "./api-connection.js";
5
5
  import { DashAuthType, ReqCertFromCsr, ResCertFromCsr, VerifiedClaimsResult } from "@fireproof/core-types-protocols-dashboard";
6
+ import { ReqVibeWhoAmI, ResVibeWhoAmI } from "@vibes.diy/vibe-types";
6
7
  export interface VibesDiyApiParam {
7
8
  readonly apiUrl: string;
8
9
  readonly ca?: string[];
@@ -36,7 +37,11 @@ export declare class VibesDiyApi implements VibesDiyApiIface<{
36
37
  readonly cfg: VibesDiyApiConfig;
37
38
  private readonly pendingRequests;
38
39
  private readonly docChangedListeners;
40
+ private readonly docChangedDetachers;
39
41
  private readonly docSubscriptions;
42
+ private readonly requestGrantListeners;
43
+ private readonly requestGrantDetachers;
44
+ private readonly requestGrantSubscriptions;
40
45
  private currentConnection;
41
46
  private reconnectTimer;
42
47
  private closed;
@@ -79,6 +84,7 @@ export declare class VibesDiyApi implements VibesDiyApiIface<{
79
84
  requestSetRole(req: Req<ReqRequestSetRole>): Promise<Result<ResRequestSetRole, VibesDiyError>>;
80
85
  revokeRequest(req: Req<ReqRevokeRequest>): Promise<Result<ResRevokeRequest, VibesDiyError>>;
81
86
  listRequestGrants(req: Req<ReqListRequestGrants>): Promise<Result<ResListRequestGrants, VibesDiyError>>;
87
+ subscribeRequestGrants(req: Req<ReqSubscribeRequestGrants>): Promise<Result<ResSubscribeRequestGrants, VibesDiyError>>;
82
88
  hasAccessRequest(req: Req<ReqHasAccessRequest>): Promise<Result<ResHasAccessRequest, VibesDiyError>>;
83
89
  listUserSlugBindings(req: Req<ReqListUserSlugBindings>): Promise<Result<ResListUserSlugBindings, VibesDiyError>>;
84
90
  createUserSlugBinding(req: Req<ReqCreateUserSlugBinding>): Promise<Result<ResCreateUserSlugBinding, VibesDiyError>>;
@@ -103,18 +109,27 @@ export declare class VibesDiyApi implements VibesDiyApiIface<{
103
109
  subscribeDocs(req: Req<ReqSubscribeDocs>): Promise<Result<ResSubscribeDocs, VibesDiyError>>;
104
110
  listDbNames(req: Req<ReqListDbNames>): Promise<Result<ResListDbNames, VibesDiyError>>;
105
111
  listMembers(req: Req<ReqListMembers>): Promise<Result<ResListMembers, VibesDiyError>>;
112
+ whoAmI(req: Req<ReqVibeWhoAmI>): Promise<Result<ResVibeWhoAmI, VibesDiyError>>;
106
113
  requestAssetUploadGrant(req: Req<ReqAssetUploadGrant>): Promise<Result<ResAssetUploadGrant, VibesDiyError>>;
107
114
  private attachDocChangedToConnection;
108
115
  onDocChanged(fn: (userSlug: string, appSlug: string, dbName: string, docId: string) => void): () => void;
116
+ private attachRequestGrantToConnection;
117
+ onRequestGrant(fn: (evt: EvtRequestGrant) => void): () => void;
109
118
  get _testInternals(): {
110
119
  docSubscriptions: readonly {
111
120
  userSlug: string;
112
121
  appSlug: string;
113
122
  dbName: string;
114
123
  }[];
124
+ requestGrantSubscriptions: readonly {
125
+ userSlug: string;
126
+ appSlug: string;
127
+ }[];
115
128
  docChangedListenerCount: number;
129
+ requestGrantListenerCount: number;
116
130
  currentConnection: VibeDiyApiConnection | undefined;
117
131
  reconnectTimer: ReturnType<typeof setTimeout> | undefined;
118
132
  };
119
133
  }
120
134
  export * from "./api-connection.js";
135
+ export { FireflyApiAdapter } from "./firefly-api-adapter.js";
package/index.js CHANGED
@@ -1,15 +1,20 @@
1
- import { msgBase, resError, isResError, sectionEvent, isResEnsureAppSlug, isResOpenChat, isResPromptChatSection, isResListUserSlugAppSlug, isResListRecentVibes, isResGetChatDetails, isResGetAppByFsId, isResEnsureUserSettings, isResListApplicationChats, isResEnsureAppSettings, isResSetModeFs, isResForkApp, isResFPCloudToken, isResCreateInvite, isResRevokeInvite, isResRedeemInvite, isResHasAccessInvite, isResInviteSetRole, isResListInviteGrants, isResListRequestGrants, isResApproveRequest, isResRequestSetRole, isResRevokeRequest, isResRequestAccessFlow, isResHasAccessRequestFlow, isResListUserSlugBindings, isResCreateUserSlugBinding, isResDeleteUserSlugBinding, isResListModels, isPromptLLMStyle, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResListMembers, isResAssetUploadGrant, isEvtDocChanged, isFSUpdate, vibeFile, } from "@vibes.diy/api-types";
1
+ import { msgBase, resError, isResError, sectionEvent, isResEnsureAppSlug, isResOpenChat, isResPromptChatSection, isResListUserSlugAppSlug, isResListRecentVibes, isResGetChatDetails, isResGetAppByFsId, isResEnsureUserSettings, isResListApplicationChats, isResEnsureAppSettings, isResSetModeFs, isResForkApp, isResFPCloudToken, isResCreateInvite, isResRevokeInvite, isResRedeemInvite, isResHasAccessInvite, isResInviteSetRole, isResListInviteGrants, isResListRequestGrants, isResSubscribeRequestGrants, isResApproveRequest, isResRequestSetRole, isResRevokeRequest, isResRequestAccessFlow, isResHasAccessRequestFlow, isResListUserSlugBindings, isResCreateUserSlugBinding, isResDeleteUserSlugBinding, isResListModels, isPromptLLMStyle, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResListMembers, isResAssetUploadGrant, isEvtDocChanged, isEvtRequestGrant, isFSUpdate, vibeFile, } from "@vibes.diy/api-types";
2
2
  import { Evento, Future, JSONEnDecoderSingleton, Result, Option, EventoResult, Lazy, BuildURI, } from "@adviser/cement";
3
3
  import { ensureSuperThis } from "@fireproof/core-runtime";
4
4
  import { W3CWebSocketEventEventoEnDecoder } from "@vibes.diy/api-pkg";
5
5
  import { getVibesDiyWebSocketConnection } from "./websocket-connection.js";
6
6
  import { type } from "arktype";
7
7
  import { ClerkApiToken } from "@fireproof/core-protocols-dashboard";
8
+ import { isResVibeWhoAmI } from "@vibes.diy/vibe-types";
8
9
  export class VibesDiyApi {
9
10
  cfg;
10
11
  pendingRequests = new Map();
11
12
  docChangedListeners = [];
13
+ docChangedDetachers = new Map();
12
14
  docSubscriptions = [];
15
+ requestGrantListeners = [];
16
+ requestGrantDetachers = new Map();
17
+ requestGrantSubscriptions = [];
13
18
  currentConnection;
14
19
  reconnectTimer;
15
20
  closed = false;
@@ -61,12 +66,23 @@ export class VibesDiyApi {
61
66
  if (conn !== this.currentConnection) {
62
67
  this.currentConnection = conn;
63
68
  for (const fn of this.docChangedListeners) {
64
- this.attachDocChangedToConnection(conn, fn);
69
+ this.docChangedDetachers.get(fn)?.();
70
+ const detach = this.attachDocChangedToConnection(conn, fn);
71
+ this.docChangedDetachers.set(fn, detach);
72
+ }
73
+ for (const fn of this.requestGrantListeners) {
74
+ this.requestGrantDetachers.get(fn)?.();
75
+ const detach = this.attachRequestGrantToConnection(conn, fn);
76
+ this.requestGrantDetachers.set(fn, detach);
65
77
  }
66
78
  for (const sub of this.docSubscriptions) {
67
79
  this.subscribeDocs(sub).catch((_e) => {
68
80
  });
69
81
  }
82
+ for (const sub of this.requestGrantSubscriptions) {
83
+ this.subscribeRequestGrants(sub).catch((_e) => {
84
+ });
85
+ }
70
86
  conn.onClose(() => {
71
87
  if (this.currentConnection === conn) {
72
88
  this.currentConnection = undefined;
@@ -282,6 +298,17 @@ export class VibesDiyApi {
282
298
  listRequestGrants(req) {
283
299
  return this.request({ ...req, type: "vibes.diy.req-list-request-grants" }, { resMatch: isResListRequestGrants });
284
300
  }
301
+ async subscribeRequestGrants(req) {
302
+ const result = await this.request({ ...req, type: "vibes.diy.req-subscribe-request-grants" }, { resMatch: isResSubscribeRequestGrants });
303
+ if (result.isOk()) {
304
+ const sub = { userSlug: req.userSlug, appSlug: req.appSlug };
305
+ const key = `${sub.userSlug}/${sub.appSlug}`;
306
+ if (!this.requestGrantSubscriptions.some((s) => `${s.userSlug}/${s.appSlug}` === key)) {
307
+ this.requestGrantSubscriptions.push(sub);
308
+ }
309
+ }
310
+ return result;
311
+ }
285
312
  hasAccessRequest(req) {
286
313
  return this.request({ ...req, type: "vibes.diy.req-has-access-request" }, { resMatch: isResHasAccessRequestFlow });
287
314
  }
@@ -326,6 +353,9 @@ export class VibesDiyApi {
326
353
  listMembers(req) {
327
354
  return this.request({ ...req, type: "vibes.diy.req-list-members" }, { resMatch: isResListMembers });
328
355
  }
356
+ whoAmI(req) {
357
+ return this.request({ ...req, type: "vibe.req.whoAmI" }, { resMatch: isResVibeWhoAmI });
358
+ }
329
359
  requestAssetUploadGrant(req) {
330
360
  return this.request({ ...req, type: "vibes.diy.req-asset-upload-grant" }, { resMatch: isResAssetUploadGrant });
331
361
  }
@@ -354,10 +384,10 @@ export class VibesDiyApi {
354
384
  }
355
385
  onDocChanged(fn) {
356
386
  this.docChangedListeners.push(fn);
357
- let detach;
358
387
  const conn = this.currentConnection;
359
388
  if (conn) {
360
- detach = this.attachDocChangedToConnection(conn, fn);
389
+ const detach = this.attachDocChangedToConnection(conn, fn);
390
+ this.docChangedDetachers.set(fn, detach);
361
391
  }
362
392
  else {
363
393
  this.getReadyConnection().catch((_e) => {
@@ -367,13 +397,60 @@ export class VibesDiyApi {
367
397
  const idx = this.docChangedListeners.indexOf(fn);
368
398
  if (idx >= 0)
369
399
  this.docChangedListeners.splice(idx, 1);
400
+ const detach = this.docChangedDetachers.get(fn);
401
+ this.docChangedDetachers.delete(fn);
402
+ detach?.();
403
+ };
404
+ }
405
+ attachRequestGrantToConnection(conn, fn) {
406
+ const unsub = conn.onMessage((wsEvent) => {
407
+ if (wsEvent.type !== "MessageEvent")
408
+ return;
409
+ const raw = wsEvent.event.data;
410
+ const textPromise = raw instanceof Blob
411
+ ? raw.text()
412
+ : Promise.resolve(typeof raw === "string" ? raw : new TextDecoder().decode(raw));
413
+ textPromise
414
+ .then((text) => {
415
+ const parsed = JSON.parse(text);
416
+ const msg = msgBase(parsed);
417
+ if (!(msg instanceof type.errors) && isEvtRequestGrant(msg.payload)) {
418
+ fn(msg.payload);
419
+ }
420
+ })
421
+ .catch((_e) => {
422
+ });
423
+ });
424
+ return () => {
425
+ unsub();
426
+ };
427
+ }
428
+ onRequestGrant(fn) {
429
+ this.requestGrantListeners.push(fn);
430
+ const conn = this.currentConnection;
431
+ if (conn) {
432
+ const detach = this.attachRequestGrantToConnection(conn, fn);
433
+ this.requestGrantDetachers.set(fn, detach);
434
+ }
435
+ else {
436
+ this.getReadyConnection().catch((_e) => {
437
+ });
438
+ }
439
+ return () => {
440
+ const idx = this.requestGrantListeners.indexOf(fn);
441
+ if (idx >= 0)
442
+ this.requestGrantListeners.splice(idx, 1);
443
+ const detach = this.requestGrantDetachers.get(fn);
444
+ this.requestGrantDetachers.delete(fn);
370
445
  detach?.();
371
446
  };
372
447
  }
373
448
  get _testInternals() {
374
449
  return {
375
450
  docSubscriptions: this.docSubscriptions,
451
+ requestGrantSubscriptions: this.requestGrantSubscriptions,
376
452
  docChangedListenerCount: this.docChangedListeners.length,
453
+ requestGrantListenerCount: this.requestGrantListeners.length,
377
454
  currentConnection: this.currentConnection,
378
455
  reconnectTimer: this.reconnectTimer,
379
456
  };
@@ -522,4 +599,5 @@ class LLMChatImpl {
522
599
  }
523
600
  }
524
601
  export * from "./api-connection.js";
602
+ export { FireflyApiAdapter } from "./firefly-api-adapter.js";
525
603
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-impl",
3
- "version": "2.2.12",
3
+ "version": "2.2.13-dev.2",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -12,9 +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.12",
16
- "@vibes.diy/api-types": "2.2.12",
17
- "@vibes.diy/call-ai-v2": "2.2.12",
15
+ "@vibes.diy/api-pkg": "2.2.13-dev.2",
16
+ "@vibes.diy/api-types": "2.2.13-dev.2",
17
+ "@vibes.diy/call-ai-v2": "2.2.13-dev.2",
18
+ "@vibes.diy/vibe-types": "2.2.13-dev.2",
18
19
  "arktype": "~2.2.0",
19
20
  "ws": "~8.20.0"
20
21
  },
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from "vitest/config";
2
+ export default defineConfig({
3
+ test: {
4
+ name: "api-impl",
5
+ exclude: ["dist/**", "node_modules/**"],
6
+ include: ["**/*test.?(c|m)[jt]s?(x)"],
7
+ },
8
+ });
9
+ //# sourceMappingURL=vitest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../jsr/vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACvC,OAAO,EAAE,CAAC,0BAA0B,CAAC;KACtC;CACF,CAAC,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { VibeDiyApiConnection } from "./api-connection.js";
2
+ export declare function formatWsEvent(event: unknown): string;
2
3
  export declare function getVibesDiyWebSocketConnection(url: string, presetWs?: WebSocket, ca?: string[]): Promise<VibeDiyApiConnection>;
@@ -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":"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"}
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"}