@vibes.diy/api-impl 2.4.8 → 2.4.9

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/index.js CHANGED
@@ -1,11 +1,12 @@
1
- import { msgBase, resError, isResError, mkResError, sectionEvent, isResEnsureAppSlug, isResOpenChat, isResPromptChatSection, isResListUserSlugAppSlug, isResListRecentVibes, isResPinRecentVibe, isResGetChatDetails, isResGetAppByFsId, isResEnsureUserSettings, isResListApplicationChats, isResEnsureAppSettings, isResSetModeFs, isResForkApp, isResFPCloudToken, isResCreateInvite, isResRevokeInvite, isResRedeemInvite, isResHasAccessInvite, isResInviteSetRole, isResListInviteGrants, isResListRequestGrants, isResSubscribeRequestGrants, isResApproveRequest, isResRequestSetRole, isResRevokeRequest, isResRequestAccessFlow, isResHasAccessRequestFlow, isResListHandleBindings, isResCreateHandleBinding, isResDeleteHandleBinding, isResListModels, isPromptLLMStyle, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResListDmThreads, isResMarkDmRead, isResListMembers, isResListMemberships, isResReportGrowthMemberships, isResReportGrowthVibesWithData, isResReportActiveMembers, isResReportTopVibesByMembers, isResReportAttributionReferrers, isResReportCampaignHealth, isResReportCampaignAdPreviews, isResAssetUploadGrant, isEvtDocChanged, isEvtRequestGrant, isEvtUserNotification, isResSubscribeUserNotifications, isFSUpdate, vibeFile, } from "@vibes.diy/api-types";
2
- import { Evento, Future, JSONEnDecoderSingleton, Result, Option, EventoResult, Lazy, BuildURI, } from "@adviser/cement";
1
+ import { isResEnsureAppSlug, isResListUserSlugAppSlug, isResListRecentVibes, isResPinRecentVibe, isResGetChatDetails, isResGetAppByFsId, isResEnsureUserSettings, isResListApplicationChats, isResEnsureAppSettings, isResSetModeFs, isResForkApp, isResFPCloudToken, isResCreateInvite, isResRevokeInvite, isResRedeemInvite, isResHasAccessInvite, isResInviteSetRole, isResListInviteGrants, isResListRequestGrants, isResSubscribeRequestGrants, isResApproveRequest, isResRequestSetRole, isResRevokeRequest, isResRequestAccessFlow, isResHasAccessRequestFlow, isResListHandleBindings, isResCreateHandleBinding, isResDeleteHandleBinding, isResListModels, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResListDmThreads, isResMarkDmRead, isResListMembers, isResListMemberships, isResReportGrowthMemberships, isResReportGrowthVibesWithData, isResReportActiveMembers, isResReportTopVibesByMembers, isResReportAttributionReferrers, isResReportCampaignHealth, isResReportCampaignAdPreviews, isResAssetUploadGrant, isResSubscribeUserNotifications, } from "@vibes.diy/api-types";
2
+ import { Result, Lazy, BuildURI } from "@adviser/cement";
3
3
  import { ensureSuperThis } from "@fireproof/core-runtime";
4
- import { W3CWebSocketEventEventoEnDecoder } from "@vibes.diy/api-pkg";
5
4
  import { getVibesDiyWebSocketConnection } from "./websocket-connection.js";
6
- import { type } from "arktype";
7
5
  import { ClerkApiToken } from "@fireproof/core-protocols-dashboard";
8
6
  import { isResVibeWhoAmI } from "@vibes.diy/vibe-types";
7
+ import { LLMChatImpl } from "./llm-chat.js";
8
+ import { attachDocChangedToConnection as attachDocChangedToConnectionImpl, attachRequestGrantToConnection as attachRequestGrantToConnectionImpl, attachUserNotificationToConnection as attachUserNotificationToConnectionImpl, replayConnectionState, } from "./vibes-diy-api-listeners.js";
9
+ import { requestApiResponse, sendApiMessage } from "./vibes-diy-api-transport.js";
9
10
  export class VibesDiyApi {
10
11
  cfg;
11
12
  pendingRequests = new Map();
@@ -68,33 +69,21 @@ export class VibesDiyApi {
68
69
  const conn = await getVibesDiyWebSocketConnection(this.cfg.apiUrl, this.cfg.ws, this.cfg.ca);
69
70
  if (conn !== this.currentConnection) {
70
71
  this.currentConnection = conn;
71
- for (const fn of this.docChangedListeners) {
72
- this.docChangedDetachers.get(fn)?.();
73
- const detach = this.attachDocChangedToConnection(conn, fn);
74
- this.docChangedDetachers.set(fn, detach);
75
- }
76
- for (const fn of this.requestGrantListeners) {
77
- this.requestGrantDetachers.get(fn)?.();
78
- const detach = this.attachRequestGrantToConnection(conn, fn);
79
- this.requestGrantDetachers.set(fn, detach);
80
- }
81
- for (const sub of this.docSubscriptions) {
82
- this.subscribeDocs(sub).catch((_e) => {
83
- });
84
- }
85
- for (const sub of this.requestGrantSubscriptions) {
86
- this.subscribeRequestGrants(sub).catch((_e) => {
87
- });
88
- }
89
- for (const fn of this.userNotificationListeners) {
90
- this.userNotificationDetachers.get(fn)?.();
91
- const detach = this.attachUserNotificationToConnection(conn, fn);
92
- this.userNotificationDetachers.set(fn, detach);
93
- }
94
- if (this.userNotificationSubscribed) {
95
- void this.subscribeUserNotifications({}).catch((_e) => {
96
- });
97
- }
72
+ replayConnectionState({
73
+ conn,
74
+ docChangedListeners: this.docChangedListeners,
75
+ docChangedDetachers: this.docChangedDetachers,
76
+ requestGrantListeners: this.requestGrantListeners,
77
+ requestGrantDetachers: this.requestGrantDetachers,
78
+ userNotificationListeners: this.userNotificationListeners,
79
+ userNotificationDetachers: this.userNotificationDetachers,
80
+ docSubscriptions: this.docSubscriptions,
81
+ requestGrantSubscriptions: this.requestGrantSubscriptions,
82
+ userNotificationSubscribed: this.userNotificationSubscribed,
83
+ subscribeDocs: (sub) => this.subscribeDocs(sub),
84
+ subscribeRequestGrants: (sub) => this.subscribeRequestGrants(sub),
85
+ subscribeUserNotifications: (req) => this.subscribeUserNotifications(req),
86
+ });
98
87
  conn.onClose(() => {
99
88
  if (this.currentConnection === conn) {
100
89
  this.currentConnection = undefined;
@@ -112,121 +101,10 @@ export class VibesDiyApi {
112
101
  return conn;
113
102
  }
114
103
  async send(req, msgParam) {
115
- const tokenPromise = req.auth ? Promise.resolve(undefined) : this.cfg.getToken();
116
- const connPromise = this.getReadyConnection();
117
- let auth = req.auth;
118
- if (!req.auth) {
119
- const rDashAuth = await tokenPromise;
120
- if (rDashAuth?.isOk()) {
121
- auth = rDashAuth.Ok();
122
- }
123
- }
124
- const msgBox = {
125
- src: this.cfg.apiUrl,
126
- dst: this.cfg.me,
127
- ttl: 6,
128
- ...msgParam,
129
- payload: {
130
- ...req,
131
- ...(auth ? { auth } : {}),
132
- },
133
- };
134
- const conn = await connPromise;
135
- const ende = JSONEnDecoderSingleton();
136
- const uint8ify = ende.uint8ify(msgBox);
137
- const rSend = conn.send(uint8ify);
138
- if (rSend.isErr()) {
139
- return Result.Err(mkResError(`Reconnecting, please retry (${String(rSend.Err())})`, "websocket-send-failed"));
140
- }
141
- return Result.Ok(msgBox);
104
+ return sendApiMessage(this, req, msgParam);
142
105
  }
143
106
  async request(req, msgParam) {
144
- const tid = msgParam?.tid ?? this.cfg.sthis.nextId(12).str;
145
- const idleMs = this.cfg.timeoutMs;
146
- const conn = await this.getReadyConnection();
147
- const evento = new Evento(new W3CWebSocketEventEventoEnDecoder());
148
- const waitForResponse = new Future();
149
- evento.push({
150
- hash: tid,
151
- validate: async (trigger) => {
152
- const msg = msgBase(trigger.enRequest);
153
- if (msg instanceof type.errors) {
154
- return Result.Ok(Option.None());
155
- }
156
- const tidMatch = msg.tid === tid;
157
- if (!tidMatch) {
158
- return Result.Ok(Option.None());
159
- }
160
- const resMatch = msgParam.resMatch(msg.payload);
161
- const isErr = isResError(msg.payload);
162
- if (resMatch || isErr) {
163
- return Result.Ok(Option.Some(trigger.enRequest));
164
- }
165
- if (!resMatch && !isErr) {
166
- const payloadType = msg.payload?.type;
167
- if (typeof payloadType === "string" &&
168
- payloadType.startsWith("vibes.diy.res-") &&
169
- payloadType !== "vibes.diy.res-progress") {
170
- waitForResponse.resolve(Result.Err(mkResError(`Response schema mismatch for ${payloadType}`, "response-schema-error")));
171
- return Result.Ok(Option.None());
172
- }
173
- }
174
- return Result.Ok(Option.None());
175
- },
176
- handle: async (trigger) => {
177
- if (isResError(trigger.validated.payload)) {
178
- const e = trigger.validated.payload;
179
- waitForResponse.resolve(Result.Err(mkResError(e.error.message, e.error.code)));
180
- }
181
- else {
182
- waitForResponse.resolve(Result.Ok(trigger.validated.payload));
183
- }
184
- return Result.Ok(EventoResult.Stop);
185
- },
186
- });
187
- let timer = undefined;
188
- const resetIdleTimer = () => {
189
- if (timer !== undefined)
190
- clearTimeout(timer);
191
- timer = setTimeout(() => {
192
- waitForResponse.resolve(Result.Err(mkResError(`Request idle for ${idleMs}ms (no progress)`, "request-timeout")));
193
- }, idleMs);
194
- };
195
- resetIdleTimer();
196
- const unreg = conn.onMessage((event) => {
197
- resetIdleTimer();
198
- const triggerPromise = evento.trigger({
199
- request: event,
200
- send: (async (_ctx, data) => {
201
- const res = await this.send(data, { tid });
202
- return res;
203
- }),
204
- });
205
- Promise.resolve(triggerPromise).catch((err) => {
206
- console.error("[request:onMessage] evento.trigger threw:", err);
207
- });
208
- });
209
- const unregClose = conn.onClose(() => {
210
- waitForResponse.resolve(Result.Err(mkResError("WebSocket closed before response (server disconnected)", "websocket-closed")));
211
- });
212
- const unregError = conn.onError(() => {
213
- waitForResponse.resolve(Result.Err(mkResError("WebSocket error before response received", "websocket-error")));
214
- });
215
- const cleanup = () => {
216
- if (timer !== undefined)
217
- clearTimeout(timer);
218
- unreg();
219
- unregClose();
220
- unregError();
221
- };
222
- const rReq = await this.send(req, { tid });
223
- if (rReq.isErr()) {
224
- cleanup();
225
- return Result.Err(rReq.Err());
226
- }
227
- const result = await waitForResponse.asPromise();
228
- cleanup();
229
- return result;
107
+ return requestApiResponse(this, req, msgParam);
230
108
  }
231
109
  ensureAppSlug(req) {
232
110
  return this.request({ ...req, type: "vibes.diy.req-ensure-app-slug" }, {
@@ -424,27 +302,7 @@ export class VibesDiyApi {
424
302
  return this.request({ ...req, type: "vibes.diy.req-report-campaign-ad-previews" }, { resMatch: isResReportCampaignAdPreviews });
425
303
  }
426
304
  attachDocChangedToConnection(conn, fn) {
427
- const unsub = conn.onMessage((wsEvent) => {
428
- if (wsEvent.type !== "MessageEvent")
429
- return;
430
- const raw = wsEvent.event.data;
431
- const textPromise = raw instanceof Blob
432
- ? raw.text()
433
- : Promise.resolve(typeof raw === "string" ? raw : new TextDecoder().decode(raw));
434
- textPromise
435
- .then((text) => {
436
- const parsed = JSON.parse(text);
437
- const msg = msgBase(parsed);
438
- if (!(msg instanceof type.errors) && isEvtDocChanged(msg.payload)) {
439
- fn(msg.payload.ownerHandle, msg.payload.appSlug, msg.payload.dbName, msg.payload.docId);
440
- }
441
- })
442
- .catch((_e) => {
443
- });
444
- });
445
- return () => {
446
- unsub();
447
- };
305
+ return attachDocChangedToConnectionImpl(conn, fn);
448
306
  }
449
307
  onDocChanged(fn) {
450
308
  this.docChangedListeners.push(fn);
@@ -467,27 +325,7 @@ export class VibesDiyApi {
467
325
  };
468
326
  }
469
327
  attachRequestGrantToConnection(conn, fn) {
470
- const unsub = conn.onMessage((wsEvent) => {
471
- if (wsEvent.type !== "MessageEvent")
472
- return;
473
- const raw = wsEvent.event.data;
474
- const textPromise = raw instanceof Blob
475
- ? raw.text()
476
- : Promise.resolve(typeof raw === "string" ? raw : new TextDecoder().decode(raw));
477
- textPromise
478
- .then((text) => {
479
- const parsed = JSON.parse(text);
480
- const msg = msgBase(parsed);
481
- if (!(msg instanceof type.errors) && isEvtRequestGrant(msg.payload)) {
482
- fn(msg.payload);
483
- }
484
- })
485
- .catch((_e) => {
486
- });
487
- });
488
- return () => {
489
- unsub();
490
- };
328
+ return attachRequestGrantToConnectionImpl(conn, fn);
491
329
  }
492
330
  onRequestGrant(fn) {
493
331
  this.requestGrantListeners.push(fn);
@@ -510,27 +348,7 @@ export class VibesDiyApi {
510
348
  };
511
349
  }
512
350
  attachUserNotificationToConnection(conn, fn) {
513
- const unsub = conn.onMessage((wsEvent) => {
514
- if (wsEvent.type !== "MessageEvent")
515
- return;
516
- const raw = wsEvent.event.data;
517
- const textPromise = raw instanceof Blob
518
- ? raw.text()
519
- : Promise.resolve(typeof raw === "string" ? raw : new TextDecoder().decode(raw));
520
- textPromise
521
- .then((text) => {
522
- const parsed = JSON.parse(text);
523
- const msg = msgBase(parsed);
524
- if (!(msg instanceof type.errors) && isEvtUserNotification(msg.payload)) {
525
- fn(msg.payload);
526
- }
527
- })
528
- .catch((_e) => {
529
- });
530
- });
531
- return () => {
532
- unsub();
533
- };
351
+ return attachUserNotificationToConnectionImpl(conn, fn);
534
352
  }
535
353
  async subscribeUserNotifications(req) {
536
354
  const result = await this.request({ ...req, type: "vibes.diy.req-subscribe-user-notifications" }, { resMatch: isResSubscribeUserNotifications });
@@ -570,137 +388,6 @@ export class VibesDiyApi {
570
388
  };
571
389
  }
572
390
  }
573
- class LLMChatImpl {
574
- api;
575
- tid;
576
- res;
577
- sectionStream;
578
- #writer;
579
- get chatId() {
580
- return this.res.chatId;
581
- }
582
- get ownerHandle() {
583
- return this.res.ownerHandle;
584
- }
585
- get appSlug() {
586
- return this.res.appSlug;
587
- }
588
- static async open(open, api) {
589
- const conn = await api.getReadyConnection();
590
- const tid = api.cfg.sthis.nextId(12).str;
591
- const sectionEvents = new TransformStream();
592
- const sectionEventsWriter = sectionEvents.writable.getWriter();
593
- const evento = new Evento(new W3CWebSocketEventEventoEnDecoder());
594
- evento.push({
595
- hash: "wait-open-chat-" + tid,
596
- validate: async (trigger) => {
597
- const msg = msgBase(trigger.enRequest);
598
- if (msg instanceof type.errors) {
599
- return Result.Ok(Option.None());
600
- }
601
- if (msg.tid === tid) {
602
- return Result.Ok(Option.Some(msg));
603
- }
604
- return Result.Ok(Option.None());
605
- },
606
- handle: async (trigger) => {
607
- const isError = resError(trigger.validated.payload);
608
- if (!(isError instanceof type.errors)) {
609
- return Result.Err(mkResError(isError.error.message, isError.error.code));
610
- }
611
- else {
612
- const se = sectionEvent(trigger.validated.payload);
613
- if (!(se instanceof type.errors)) {
614
- await sectionEventsWriter.write(se);
615
- }
616
- else {
617
- }
618
- }
619
- return Result.Ok(EventoResult.Continue);
620
- },
621
- });
622
- const unreg = conn.onMessage((event) => {
623
- evento
624
- .trigger({
625
- request: event,
626
- send: (async (_ctx, data) => {
627
- const res = await api.send(data, { tid });
628
- return res;
629
- }),
630
- })
631
- .catch((err) => {
632
- sectionEventsWriter.write(mkResError(`LLMChat evento trigger error: ${err.message}`, "llmchat-evento-error"));
633
- sectionEventsWriter.abort();
634
- });
635
- });
636
- conn.onError(unreg);
637
- conn.onClose(unreg);
638
- const res = await api.request(open, { tid, resMatch: isResOpenChat });
639
- if (res.isErr()) {
640
- return Result.Err(res.Err());
641
- }
642
- const llmChat = new LLMChatImpl(api, tid, res.Ok(), sectionEvents.readable, sectionEventsWriter);
643
- return Result.Ok(llmChat);
644
- }
645
- constructor(api, tid, res, sectionEvents, writer) {
646
- this.api = api;
647
- this.tid = tid;
648
- this.res = res;
649
- this.sectionStream = sectionEvents;
650
- this.#writer = writer;
651
- }
652
- async promptFS(req) {
653
- if (isFSUpdate(req)) {
654
- return this.api.request({
655
- type: "vibes.diy.req-prompt-chat-section",
656
- mode: "fs-update",
657
- chatId: this.res.chatId,
658
- outerTid: this.tid,
659
- fsUpdate: req,
660
- }, {
661
- resMatch: isResPromptChatSection,
662
- });
663
- }
664
- else {
665
- const possibleArray = vibeFile.array()(req);
666
- if (possibleArray instanceof type.errors) {
667
- return Result.Err(mkResError(`Invalid VibeFile array`, "invalid-vibefile-array"));
668
- }
669
- return this.api.request({
670
- type: "vibes.diy.req-prompt-chat-section",
671
- mode: "fs-set",
672
- chatId: this.res.chatId,
673
- outerTid: this.tid,
674
- fsSet: possibleArray,
675
- }, {
676
- resMatch: isResPromptChatSection,
677
- });
678
- }
679
- }
680
- async prompt(msg, opts) {
681
- const mode = this.res.mode;
682
- if (!isPromptLLMStyle(mode)) {
683
- return Result.Err(mkResError(`Chat mode ${this.res.mode} does not support prompting`, "unsupported-chat-mode"));
684
- }
685
- const res = await this.api.request({
686
- type: "vibes.diy.req-prompt-chat-section",
687
- mode,
688
- chatId: this.res.chatId,
689
- outerTid: this.tid,
690
- prompt: msg,
691
- ...(mode === "img" && opts?.inputImageBase64 ? { inputImageBase64: opts.inputImageBase64 } : {}),
692
- ...(mode === "chat" && opts?.dryRun === true ? { dryRun: true } : {}),
693
- ...(mode === "chat" && opts?.focusPath !== undefined ? { focusPath: opts.focusPath } : {}),
694
- ...(mode === "chat" && opts?.selected !== undefined ? { selected: opts.selected } : {}),
695
- }, {
696
- resMatch: isResPromptChatSection,
697
- });
698
- return res;
699
- }
700
- async close(_force = false) {
701
- this.#writer.close();
702
- }
703
- }
704
391
  export * from "./api-connection.js";
705
392
  export { FireflyApiAdapter } from "./firefly-api-adapter.js";
706
393
  //# 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/llm-chat.d.ts ADDED
@@ -0,0 +1,40 @@
1
+ import { LLMChat, MsgBase, OnResponseTypes, ReqOpenChat, VibeFile, ResOpenChat, ResPromptChatSection, ResultVibesDiy, VibesDiyError, FSUpdate, SelectedSlotInput, OptionalAuth, MsgBox } from "@vibes.diy/api-types";
2
+ import { Result } from "@adviser/cement";
3
+ import { LLMRequest } from "@vibes.diy/call-ai-v2";
4
+ import { DashAuthType } from "@fireproof/core-types-protocols-dashboard";
5
+ import { VibeDiyApiConnection } from "./api-connection.js";
6
+ import { ReqType, VibesDiyApiConfig, WithAuth } from "./vibes-diy-api-types.js";
7
+ interface VibesDiyApiForLLMChat {
8
+ readonly cfg: Pick<VibesDiyApiConfig, "sthis">;
9
+ getReadyConnection(): Promise<VibeDiyApiConnection>;
10
+ send<T extends {
11
+ auth?: DashAuthType;
12
+ }>(req: T, msgParam: Partial<Omit<MsgBase, "tid">> & {
13
+ tid: string;
14
+ }): Promise<Result<MsgBox<WithAuth<T>>, VibesDiyError>>;
15
+ request<Q extends OptionalAuth, S>(req: Q, msgParam: {
16
+ tid?: string;
17
+ resMatch: (res: unknown) => boolean;
18
+ }): Promise<ResultVibesDiy<S>>;
19
+ }
20
+ export declare class LLMChatImpl implements LLMChat {
21
+ #private;
22
+ readonly api: VibesDiyApiForLLMChat;
23
+ readonly tid: string;
24
+ readonly res: ResOpenChat;
25
+ readonly sectionStream: ReadableStream<OnResponseTypes>;
26
+ get chatId(): string;
27
+ get ownerHandle(): string;
28
+ get appSlug(): string;
29
+ static open(open: ReqType<ReqOpenChat>, api: VibesDiyApiForLLMChat): Promise<Result<LLMChat>>;
30
+ private constructor();
31
+ promptFS(req: FSUpdate | VibeFile[]): Promise<Result<ResPromptChatSection, VibesDiyError>>;
32
+ prompt(msg: LLMRequest, opts?: {
33
+ inputImageBase64?: string;
34
+ dryRun?: boolean;
35
+ focusPath?: string;
36
+ selected?: SelectedSlotInput;
37
+ }): Promise<Result<ResPromptChatSection, VibesDiyError>>;
38
+ close(_force?: boolean): Promise<void>;
39
+ }
40
+ export {};
package/llm-chat.js ADDED
@@ -0,0 +1,136 @@
1
+ import { isPromptLLMStyle, isResOpenChat, isResPromptChatSection, msgBase, mkResError, resError, sectionEvent, isFSUpdate, vibeFile, } from "@vibes.diy/api-types";
2
+ import { Evento, EventoResult, Option, Result, } from "@adviser/cement";
3
+ import { type } from "arktype";
4
+ import { W3CWebSocketEventEventoEnDecoder } from "@vibes.diy/api-pkg";
5
+ export class LLMChatImpl {
6
+ api;
7
+ tid;
8
+ res;
9
+ sectionStream;
10
+ #writer;
11
+ get chatId() {
12
+ return this.res.chatId;
13
+ }
14
+ get ownerHandle() {
15
+ return this.res.ownerHandle;
16
+ }
17
+ get appSlug() {
18
+ return this.res.appSlug;
19
+ }
20
+ static async open(open, api) {
21
+ const conn = await api.getReadyConnection();
22
+ const tid = api.cfg.sthis.nextId(12).str;
23
+ const sectionEvents = new TransformStream();
24
+ const sectionEventsWriter = sectionEvents.writable.getWriter();
25
+ const evento = new Evento(new W3CWebSocketEventEventoEnDecoder());
26
+ evento.push({
27
+ hash: "wait-open-chat-" + tid,
28
+ validate: async (trigger) => {
29
+ const msg = msgBase(trigger.enRequest);
30
+ if (msg instanceof type.errors) {
31
+ return Result.Ok(Option.None());
32
+ }
33
+ if (msg.tid === tid) {
34
+ return Result.Ok(Option.Some(msg));
35
+ }
36
+ return Result.Ok(Option.None());
37
+ },
38
+ handle: async (trigger) => {
39
+ const isError = resError(trigger.validated.payload);
40
+ if (!(isError instanceof type.errors)) {
41
+ return Result.Err(mkResError(isError.error.message, isError.error.code));
42
+ }
43
+ else {
44
+ const se = sectionEvent(trigger.validated.payload);
45
+ if (!(se instanceof type.errors)) {
46
+ await sectionEventsWriter.write(se);
47
+ }
48
+ else {
49
+ }
50
+ }
51
+ return Result.Ok(EventoResult.Continue);
52
+ },
53
+ });
54
+ const unreg = conn.onMessage((event) => {
55
+ evento
56
+ .trigger({
57
+ request: event,
58
+ send: (async (_ctx, data) => {
59
+ const res = await api.send(data, { tid });
60
+ return res;
61
+ }),
62
+ })
63
+ .catch((err) => {
64
+ sectionEventsWriter.write(mkResError(`LLMChat evento trigger error: ${err.message}`, "llmchat-evento-error"));
65
+ sectionEventsWriter.abort();
66
+ });
67
+ });
68
+ conn.onError(unreg);
69
+ conn.onClose(unreg);
70
+ const res = await api.request(open, { tid, resMatch: isResOpenChat });
71
+ if (res.isErr()) {
72
+ return Result.Err(res.Err());
73
+ }
74
+ const llmChat = new LLMChatImpl(api, tid, res.Ok(), sectionEvents.readable, sectionEventsWriter);
75
+ return Result.Ok(llmChat);
76
+ }
77
+ constructor(api, tid, res, sectionEvents, writer) {
78
+ this.api = api;
79
+ this.tid = tid;
80
+ this.res = res;
81
+ this.sectionStream = sectionEvents;
82
+ this.#writer = writer;
83
+ }
84
+ async promptFS(req) {
85
+ if (isFSUpdate(req)) {
86
+ return this.api.request({
87
+ type: "vibes.diy.req-prompt-chat-section",
88
+ mode: "fs-update",
89
+ chatId: this.res.chatId,
90
+ outerTid: this.tid,
91
+ fsUpdate: req,
92
+ }, {
93
+ resMatch: isResPromptChatSection,
94
+ });
95
+ }
96
+ else {
97
+ const possibleArray = vibeFile.array()(req);
98
+ if (possibleArray instanceof type.errors) {
99
+ return Result.Err(mkResError(`Invalid VibeFile array`, "invalid-vibefile-array"));
100
+ }
101
+ return this.api.request({
102
+ type: "vibes.diy.req-prompt-chat-section",
103
+ mode: "fs-set",
104
+ chatId: this.res.chatId,
105
+ outerTid: this.tid,
106
+ fsSet: possibleArray,
107
+ }, {
108
+ resMatch: isResPromptChatSection,
109
+ });
110
+ }
111
+ }
112
+ async prompt(msg, opts) {
113
+ const mode = this.res.mode;
114
+ if (!isPromptLLMStyle(mode)) {
115
+ return Result.Err(mkResError(`Chat mode ${this.res.mode} does not support prompting`, "unsupported-chat-mode"));
116
+ }
117
+ const res = await this.api.request({
118
+ type: "vibes.diy.req-prompt-chat-section",
119
+ mode,
120
+ chatId: this.res.chatId,
121
+ outerTid: this.tid,
122
+ prompt: msg,
123
+ ...(mode === "img" && opts?.inputImageBase64 ? { inputImageBase64: opts.inputImageBase64 } : {}),
124
+ ...(mode === "chat" && opts?.dryRun === true ? { dryRun: true } : {}),
125
+ ...(mode === "chat" && opts?.focusPath !== undefined ? { focusPath: opts.focusPath } : {}),
126
+ ...(mode === "chat" && opts?.selected !== undefined ? { selected: opts.selected } : {}),
127
+ }, {
128
+ resMatch: isResPromptChatSection,
129
+ });
130
+ return res;
131
+ }
132
+ async close(_force = false) {
133
+ this.#writer.close();
134
+ }
135
+ }
136
+ //# sourceMappingURL=llm-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-chat.js","sourceRoot":"","sources":["../jsr/llm-chat.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.4.8",
3
+ "version": "2.4.9",
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.4.8",
16
- "@vibes.diy/api-types": "2.4.8",
17
- "@vibes.diy/call-ai-v2": "2.4.8",
18
- "@vibes.diy/vibe-types": "2.4.8",
15
+ "@vibes.diy/api-pkg": "2.4.9",
16
+ "@vibes.diy/api-types": "2.4.9",
17
+ "@vibes.diy/call-ai-v2": "2.4.9",
18
+ "@vibes.diy/vibe-types": "2.4.9",
19
19
  "arktype": "~2.2.0",
20
20
  "ws": "~8.20.0"
21
21
  },
@@ -0,0 +1,37 @@
1
+ import { EvtRequestGrant, EvtUserNotification } from "@vibes.diy/api-types";
2
+ import { VibeDiyApiConnection } from "./api-connection.js";
3
+ type ListenerDetacher = () => void;
4
+ export declare function attachDocChangedToConnection(conn: VibeDiyApiConnection, fn: (ownerHandle: string, appSlug: string, dbName: string, docId: string) => void): ListenerDetacher;
5
+ export declare function attachRequestGrantToConnection(conn: VibeDiyApiConnection, fn: (evt: EvtRequestGrant) => void): ListenerDetacher;
6
+ export declare function attachUserNotificationToConnection(conn: VibeDiyApiConnection, fn: (evt: EvtUserNotification) => void): ListenerDetacher;
7
+ export interface ReplayConnectionStateParams {
8
+ conn: VibeDiyApiConnection;
9
+ docChangedListeners: ((ownerHandle: string, appSlug: string, dbName: string, docId: string) => void)[];
10
+ docChangedDetachers: Map<(ownerHandle: string, appSlug: string, dbName: string, docId: string) => void, ListenerDetacher>;
11
+ requestGrantListeners: ((evt: EvtRequestGrant) => void)[];
12
+ requestGrantDetachers: Map<(evt: EvtRequestGrant) => void, ListenerDetacher>;
13
+ userNotificationListeners: ((evt: EvtUserNotification) => void)[];
14
+ userNotificationDetachers: Map<(evt: EvtUserNotification) => void, ListenerDetacher>;
15
+ docSubscriptions: {
16
+ ownerHandle: string;
17
+ appSlug: string;
18
+ dbName: string;
19
+ }[];
20
+ requestGrantSubscriptions: {
21
+ ownerHandle: string;
22
+ appSlug: string;
23
+ }[];
24
+ userNotificationSubscribed: boolean;
25
+ subscribeDocs: (sub: {
26
+ ownerHandle: string;
27
+ appSlug: string;
28
+ dbName: string;
29
+ }) => Promise<unknown>;
30
+ subscribeRequestGrants: (sub: {
31
+ ownerHandle: string;
32
+ appSlug: string;
33
+ }) => Promise<unknown>;
34
+ subscribeUserNotifications: (req: object) => Promise<unknown>;
35
+ }
36
+ export declare function replayConnectionState(params: ReplayConnectionStateParams): void;
37
+ export {};
@@ -0,0 +1,75 @@
1
+ import { isEvtDocChanged, isEvtRequestGrant, isEvtUserNotification, msgBase, } from "@vibes.diy/api-types";
2
+ import { type } from "arktype";
3
+ async function decodeMessagePayload(raw) {
4
+ if (raw instanceof Blob) {
5
+ return JSON.parse(await raw.text());
6
+ }
7
+ if (typeof raw === "string") {
8
+ return JSON.parse(raw);
9
+ }
10
+ return JSON.parse(new TextDecoder().decode(raw));
11
+ }
12
+ function attachPayloadListener(conn, isPayload, onPayload) {
13
+ const unsub = conn.onMessage((wsEvent) => {
14
+ if (wsEvent.type !== "MessageEvent")
15
+ return;
16
+ decodeMessagePayload(wsEvent.event.data)
17
+ .then((parsed) => {
18
+ const msg = msgBase(parsed);
19
+ if (!(msg instanceof type.errors) && isPayload(msg.payload)) {
20
+ onPayload(msg.payload);
21
+ }
22
+ })
23
+ .catch((_e) => {
24
+ });
25
+ });
26
+ return () => {
27
+ unsub();
28
+ };
29
+ }
30
+ export function attachDocChangedToConnection(conn, fn) {
31
+ return attachPayloadListener(conn, isEvtDocChanged, (payload) => {
32
+ fn(payload.ownerHandle, payload.appSlug, payload.dbName, payload.docId);
33
+ });
34
+ }
35
+ export function attachRequestGrantToConnection(conn, fn) {
36
+ return attachPayloadListener(conn, isEvtRequestGrant, (payload) => {
37
+ fn(payload);
38
+ });
39
+ }
40
+ export function attachUserNotificationToConnection(conn, fn) {
41
+ return attachPayloadListener(conn, isEvtUserNotification, (payload) => {
42
+ fn(payload);
43
+ });
44
+ }
45
+ export function replayConnectionState(params) {
46
+ const { conn, docChangedListeners, docChangedDetachers, requestGrantListeners, requestGrantDetachers, userNotificationListeners, userNotificationDetachers, docSubscriptions, requestGrantSubscriptions, userNotificationSubscribed, subscribeDocs, subscribeRequestGrants, subscribeUserNotifications, } = params;
47
+ for (const fn of docChangedListeners) {
48
+ docChangedDetachers.get(fn)?.();
49
+ const detach = attachDocChangedToConnection(conn, fn);
50
+ docChangedDetachers.set(fn, detach);
51
+ }
52
+ for (const fn of requestGrantListeners) {
53
+ requestGrantDetachers.get(fn)?.();
54
+ const detach = attachRequestGrantToConnection(conn, fn);
55
+ requestGrantDetachers.set(fn, detach);
56
+ }
57
+ for (const sub of docSubscriptions) {
58
+ subscribeDocs(sub).catch((_e) => {
59
+ });
60
+ }
61
+ for (const sub of requestGrantSubscriptions) {
62
+ subscribeRequestGrants(sub).catch((_e) => {
63
+ });
64
+ }
65
+ for (const fn of userNotificationListeners) {
66
+ userNotificationDetachers.get(fn)?.();
67
+ const detach = attachUserNotificationToConnection(conn, fn);
68
+ userNotificationDetachers.set(fn, detach);
69
+ }
70
+ if (userNotificationSubscribed) {
71
+ void subscribeUserNotifications({}).catch((_e) => {
72
+ });
73
+ }
74
+ }
75
+ //# sourceMappingURL=vibes-diy-api-listeners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibes-diy-api-listeners.js","sourceRoot":"","sources":["../jsr/vibes-diy-api-listeners.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { MsgBase, OptionalAuth, ResultVibesDiy, VibesDiyError, MsgBox } from "@vibes.diy/api-types";
2
+ import { Result } from "@adviser/cement";
3
+ import { DashAuthType } from "@fireproof/core-types-protocols-dashboard";
4
+ import { VibeDiyApiConnection } from "./api-connection.js";
5
+ import { VibesDiyApiConfig, WithAuth } from "./vibes-diy-api-types.js";
6
+ interface VibesDiyApiTransportContext {
7
+ readonly cfg: Pick<VibesDiyApiConfig, "apiUrl" | "me" | "getToken" | "timeoutMs" | "sthis">;
8
+ getReadyConnection(): Promise<VibeDiyApiConnection>;
9
+ }
10
+ interface VibesDiyApiRequestContext extends VibesDiyApiTransportContext {
11
+ send<T extends {
12
+ auth?: DashAuthType;
13
+ }>(req: T, msgParam: Partial<Omit<MsgBase, "tid">> & {
14
+ tid: string;
15
+ }): Promise<Result<MsgBox<WithAuth<T>>, VibesDiyError>>;
16
+ }
17
+ export declare function sendApiMessage<T extends {
18
+ auth?: DashAuthType;
19
+ }>(ctx: VibesDiyApiTransportContext, req: T, msgParam: Partial<Omit<MsgBase, "tid">> & {
20
+ tid: string;
21
+ }): Promise<Result<MsgBox<WithAuth<T>>, VibesDiyError>>;
22
+ export declare function requestApiResponse<Q extends OptionalAuth, S>(ctx: VibesDiyApiRequestContext, req: Q, msgParam: {
23
+ tid?: string;
24
+ resMatch: (res: unknown) => boolean;
25
+ }): Promise<ResultVibesDiy<S>>;
26
+ export {};
@@ -0,0 +1,122 @@
1
+ import { msgBase, isResError, mkResError, } from "@vibes.diy/api-types";
2
+ import { Evento, Future, JSONEnDecoderSingleton, Result, Option, EventoResult, } from "@adviser/cement";
3
+ import { W3CWebSocketEventEventoEnDecoder } from "@vibes.diy/api-pkg";
4
+ import { type } from "arktype";
5
+ export async function sendApiMessage(ctx, req, msgParam) {
6
+ const tokenPromise = req.auth ? Promise.resolve(undefined) : ctx.cfg.getToken();
7
+ const connPromise = ctx.getReadyConnection();
8
+ let auth = req.auth;
9
+ if (!req.auth) {
10
+ const rDashAuth = await tokenPromise;
11
+ if (rDashAuth?.isOk()) {
12
+ auth = rDashAuth.Ok();
13
+ }
14
+ }
15
+ const msgBox = {
16
+ src: ctx.cfg.apiUrl,
17
+ dst: ctx.cfg.me,
18
+ ttl: 6,
19
+ ...msgParam,
20
+ payload: {
21
+ ...req,
22
+ ...(auth ? { auth } : {}),
23
+ },
24
+ };
25
+ const conn = await connPromise;
26
+ const ende = JSONEnDecoderSingleton();
27
+ const uint8ify = ende.uint8ify(msgBox);
28
+ const rSend = conn.send(uint8ify);
29
+ if (rSend.isErr()) {
30
+ return Result.Err(mkResError(`Reconnecting, please retry (${String(rSend.Err())})`, "websocket-send-failed"));
31
+ }
32
+ return Result.Ok(msgBox);
33
+ }
34
+ export async function requestApiResponse(ctx, req, msgParam) {
35
+ const tid = msgParam?.tid ?? ctx.cfg.sthis.nextId(12).str;
36
+ const idleMs = ctx.cfg.timeoutMs;
37
+ const conn = await ctx.getReadyConnection();
38
+ const evento = new Evento(new W3CWebSocketEventEventoEnDecoder());
39
+ const waitForResponse = new Future();
40
+ evento.push({
41
+ hash: tid,
42
+ validate: async (trigger) => {
43
+ const msg = msgBase(trigger.enRequest);
44
+ if (msg instanceof type.errors) {
45
+ return Result.Ok(Option.None());
46
+ }
47
+ const tidMatch = msg.tid === tid;
48
+ if (!tidMatch) {
49
+ return Result.Ok(Option.None());
50
+ }
51
+ const resMatch = msgParam.resMatch(msg.payload);
52
+ const isErr = isResError(msg.payload);
53
+ if (resMatch || isErr) {
54
+ return Result.Ok(Option.Some(trigger.enRequest));
55
+ }
56
+ if (!resMatch && !isErr) {
57
+ const payloadType = msg.payload?.type;
58
+ if (typeof payloadType === "string" &&
59
+ payloadType.startsWith("vibes.diy.res-") &&
60
+ payloadType !== "vibes.diy.res-progress") {
61
+ waitForResponse.resolve(Result.Err(mkResError(`Response schema mismatch for ${payloadType}`, "response-schema-error")));
62
+ return Result.Ok(Option.None());
63
+ }
64
+ }
65
+ return Result.Ok(Option.None());
66
+ },
67
+ handle: async (trigger) => {
68
+ if (isResError(trigger.validated.payload)) {
69
+ const e = trigger.validated.payload;
70
+ waitForResponse.resolve(Result.Err(mkResError(e.error.message, e.error.code)));
71
+ }
72
+ else {
73
+ waitForResponse.resolve(Result.Ok(trigger.validated.payload));
74
+ }
75
+ return Result.Ok(EventoResult.Stop);
76
+ },
77
+ });
78
+ let timer = undefined;
79
+ const resetIdleTimer = () => {
80
+ if (timer !== undefined)
81
+ clearTimeout(timer);
82
+ timer = setTimeout(() => {
83
+ waitForResponse.resolve(Result.Err(mkResError(`Request idle for ${idleMs}ms (no progress)`, "request-timeout")));
84
+ }, idleMs);
85
+ };
86
+ resetIdleTimer();
87
+ const unreg = conn.onMessage((event) => {
88
+ resetIdleTimer();
89
+ const triggerPromise = evento.trigger({
90
+ request: event,
91
+ send: (async (_ctx, data) => {
92
+ const res = await ctx.send(data, { tid });
93
+ return res;
94
+ }),
95
+ });
96
+ Promise.resolve(triggerPromise).catch((err) => {
97
+ console.error("[request:onMessage] evento.trigger threw:", err);
98
+ });
99
+ });
100
+ const unregClose = conn.onClose(() => {
101
+ waitForResponse.resolve(Result.Err(mkResError("WebSocket closed before response (server disconnected)", "websocket-closed")));
102
+ });
103
+ const unregError = conn.onError(() => {
104
+ waitForResponse.resolve(Result.Err(mkResError("WebSocket error before response received", "websocket-error")));
105
+ });
106
+ const cleanup = () => {
107
+ if (timer !== undefined)
108
+ clearTimeout(timer);
109
+ unreg();
110
+ unregClose();
111
+ unregError();
112
+ };
113
+ const rReq = await ctx.send(req, { tid });
114
+ if (rReq.isErr()) {
115
+ cleanup();
116
+ return Result.Err(rReq.Err());
117
+ }
118
+ const result = await waitForResponse.asPromise();
119
+ cleanup();
120
+ return result;
121
+ }
122
+ //# sourceMappingURL=vibes-diy-api-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibes-diy-api-transport.js","sourceRoot":"","sources":["../jsr/vibes-diy-api-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { MsgBaseCfg, OptionalAuth } from "@vibes.diy/api-types";
2
+ import { Result } from "@adviser/cement";
3
+ import { SuperThis } from "@fireproof/core-types-base";
4
+ import { DashAuthType } from "@fireproof/core-types-protocols-dashboard";
5
+ export interface VibesDiyApiParam {
6
+ readonly apiUrl: string;
7
+ readonly ca?: string[];
8
+ readonly me?: string;
9
+ fetch?(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
10
+ readonly ws?: WebSocket;
11
+ getToken(): Promise<Result<DashAuthType>>;
12
+ readonly msg?: MsgBaseCfg;
13
+ readonly sthis?: SuperThis;
14
+ readonly timeoutMs?: number;
15
+ readonly shardKey?: string;
16
+ }
17
+ export interface VibesDiyApiConfig {
18
+ readonly apiUrl: string;
19
+ readonly ca?: string[];
20
+ readonly me: string;
21
+ fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
22
+ readonly ws?: WebSocket;
23
+ getToken(): Promise<Result<DashAuthType>>;
24
+ readonly msg: MsgBaseCfg;
25
+ readonly sthis: SuperThis;
26
+ readonly timeoutMs: number;
27
+ }
28
+ export type ReqType<T> = Omit<T, "auth"> & OptionalAuth;
29
+ export type WithAuth<T> = Omit<T, "auth"> & {
30
+ readonly auth: DashAuthType;
31
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vibes-diy-api-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibes-diy-api-types.js","sourceRoot":"","sources":["../jsr/vibes-diy-api-types.ts"],"names":[],"mappings":""}