@vibes.diy/api-impl 2.4.7 → 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 +25 -338
- package/index.js.map +1 -1
- package/llm-chat.d.ts +40 -0
- package/llm-chat.js +136 -0
- package/llm-chat.js.map +1 -0
- package/package.json +5 -5
- package/vibes-diy-api-listeners.d.ts +37 -0
- package/vibes-diy-api-listeners.js +75 -0
- package/vibes-diy-api-listeners.js.map +1 -0
- package/vibes-diy-api-transport.d.ts +26 -0
- package/vibes-diy-api-transport.js +122 -0
- package/vibes-diy-api-transport.js.map +1 -0
- package/vibes-diy-api-types.d.ts +31 -0
- package/vibes-diy-api-types.js +2 -0
- package/vibes-diy-api-types.js.map +1 -0
package/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this.docChangedDetachers
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.
|
|
78
|
-
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
package/llm-chat.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-chat.js","sourceRoot":"","sources":["../jsr/llm-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,OAAO,EACP,UAAU,EACV,QAAQ,EACR,YAAY,EAEZ,UAAU,EACV,QAAQ,GAOT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,MAAM,EACN,YAAY,EAGZ,MAAM,EACN,MAAM,GAGP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAsBtE,MAAM,OAAO,WAAW;IACb,GAAG,CAAwB;IAC3B,GAAG,CAAS;IACZ,GAAG,CAAc;IAEjB,aAAa,CAAkC;IAE/C,OAAO,CAA+C;IAK/D,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAA0B,EAAE,GAA0B;QACtE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QAEzC,MAAM,aAAa,GAAG,IAAI,eAAe,EAAoC,CAAC;QAE9E,MAAM,mBAAmB,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,gCAAgC,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB,GAAG,GAAG;YAC7B,QAAQ,EAAE,KAAK,EAAE,OAAoE,EAAE,EAAE;gBACvF,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC/B,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACpB,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,OAAkE,EAAE,EAAE;gBACnF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,CAAC,OAAO,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACnD,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACjC,MAAM,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;oBAER,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAKrC,MAAM;iBACH,OAAO,CAAC;gBACP,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,IAAqD,EAAE,IAAa,EAAE,EAAE;oBACpF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAsC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5E,OAAO,GAAG,CAAC;gBACb,CAAC,CAAuE;aACzE,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,iCAAiC,GAAG,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBAC9G,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAgC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QACrG,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC,GAAG,CAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAGD,YACE,GAA0B,EAC1B,GAAW,EACX,GAAgB,EAChB,aAA8C,EAC9C,MAAoD;QAEpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAExB,CAAC;IAiBD,KAAK,CAAC,QAAQ,CAAC,GAA0B;QACvC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CACrB;gBACE,IAAI,EAAE,mCAAmC;gBACzC,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;gBACvB,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,QAAQ,EAAE,GAAG;aACd,EACD;gBACE,QAAQ,EAAE,sBAAsB;aACjC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,aAAa,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzC,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CACrB;gBACE,IAAI,EAAE,mCAAmC;gBACzC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;gBACvB,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,KAAK,EAAE,aAAa;aACrB,EACD;gBACE,QAAQ,EAAE,sBAAsB;aACjC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAe,EACf,IAAwG;QAExG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,IAAI,6BAA6B,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAChC;YACE,IAAI,EAAE,mCAAmC;YACzC,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;YACvB,QAAQ,EAAE,IAAI,CAAC,GAAG;YAClB,MAAM,EAAE,GAAG;YACX,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAIhG,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,EACD;YACE,QAAQ,EAAE,sBAAsB;SACjC,CACF,CAAC;QAIF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-impl",
|
|
3
|
-
"version": "2.4.
|
|
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.
|
|
16
|
-
"@vibes.diy/api-types": "2.4.
|
|
17
|
-
"@vibes.diy/call-ai-v2": "2.4.
|
|
18
|
-
"@vibes.diy/vibe-types": "2.4.
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"vibes-diy-api-types.js","sourceRoot":"","sources":["../jsr/vibes-diy-api-types.ts"],"names":[],"mappings":""}
|