@vibes.diy/vibe-srv-sandbox 2.5.10 → 2.5.11-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,309 @@
1
+ import { Result, Option, EventoResult, } from "@adviser/cement";
2
+ import { isReqPutDoc, isReqGetDoc, isReqQueryDocs, isReqDeleteDoc, isReqSetDbAcl, isReqSubscribeDocs, isReqListDbNames, } from "@vibes.diy/vibe-types";
3
+ export async function requireVibeApi(sandbox, ctx, resType) {
4
+ const vibeApi = sandbox.vibeApi;
5
+ if (vibeApi !== undefined)
6
+ return vibeApi;
7
+ const { ownerHandle, appSlug } = ctx.validated;
8
+ const where = ownerHandle !== undefined && appSlug !== undefined ? ` for ${ownerHandle}/${appSlug}` : "";
9
+ await ctx.send.send(ctx, {
10
+ tid: ctx.validated.tid,
11
+ type: resType,
12
+ status: "error",
13
+ message: `vibeApi unavailable — no active app session for this route${where} (route not vibe-bound yet or provider/session mismatch)`,
14
+ });
15
+ return undefined;
16
+ }
17
+ export function vibePutDoc(sandbox) {
18
+ return {
19
+ hash: "vibe.putDoc",
20
+ validate: (ctx) => {
21
+ const { request: req } = ctx;
22
+ if (isReqPutDoc(req?.data)) {
23
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
24
+ }
25
+ return Promise.resolve(Result.Ok(Option.None()));
26
+ },
27
+ handle: async (ctx) => {
28
+ const api = await requireVibeApi(sandbox, ctx, "vibes.diy.res-put-doc");
29
+ if (api === undefined)
30
+ return Result.Ok(EventoResult.Stop);
31
+ const rRes = await api.putDoc({
32
+ ownerHandle: ctx.validated.ownerHandle,
33
+ appSlug: ctx.validated.appSlug,
34
+ dbName: ctx.validated.dbName,
35
+ doc: ctx.validated.doc,
36
+ docId: ctx.validated.docId,
37
+ });
38
+ if (rRes.isErr()) {
39
+ const err = rRes.Err();
40
+ const errMessage = typeof err === "string" ? err : (err?.message ?? "unknown error");
41
+ const code = typeof err === "string" ? undefined : err?.error?.code;
42
+ const isAccessDenied = code === "access-denied" || errMessage === "Access denied";
43
+ let toast;
44
+ if (code === "access-denied") {
45
+ const trimmed = errMessage.trim();
46
+ toast = trimmed.length > 200 ? `${trimmed.slice(0, 199)}…` : trimmed;
47
+ }
48
+ else if (errMessage === "Access denied") {
49
+ toast = "You have read-only access to this app.";
50
+ }
51
+ else {
52
+ toast = "Failed to save your changes. Please try again.";
53
+ }
54
+ sandbox.args.errorLogger(toast);
55
+ if (!isAccessDenied) {
56
+ console.debug("vibePutDoc failed", err);
57
+ }
58
+ await ctx.send.send(ctx, {
59
+ tid: ctx.validated.tid,
60
+ type: "vibes.diy.res-put-doc",
61
+ status: "error",
62
+ message: errMessage,
63
+ });
64
+ }
65
+ else {
66
+ const res = rRes.Ok();
67
+ await ctx.send.send(ctx, {
68
+ tid: ctx.validated.tid,
69
+ type: "vibes.diy.res-put-doc",
70
+ status: "ok",
71
+ id: res.id,
72
+ });
73
+ }
74
+ return Result.Ok(EventoResult.Stop);
75
+ },
76
+ };
77
+ }
78
+ export function vibeGetDoc(sandbox) {
79
+ return {
80
+ hash: "vibe.getDoc",
81
+ validate: (ctx) => {
82
+ const { request: req } = ctx;
83
+ if (isReqGetDoc(req?.data)) {
84
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
85
+ }
86
+ return Promise.resolve(Result.Ok(Option.None()));
87
+ },
88
+ handle: async (ctx) => {
89
+ const api = await requireVibeApi(sandbox, ctx, "vibes.diy.res-get-doc");
90
+ if (api === undefined)
91
+ return Result.Ok(EventoResult.Stop);
92
+ const rRes = await api.getDoc({
93
+ ownerHandle: ctx.validated.ownerHandle,
94
+ appSlug: ctx.validated.appSlug,
95
+ dbName: ctx.validated.dbName,
96
+ docId: ctx.validated.docId,
97
+ });
98
+ if (rRes.isErr()) {
99
+ await ctx.send.send(ctx, {
100
+ tid: ctx.validated.tid,
101
+ type: "vibes.diy.res-get-doc",
102
+ status: "error",
103
+ message: rRes.Err().message,
104
+ });
105
+ }
106
+ else {
107
+ const res = rRes.Ok();
108
+ await ctx.send.send(ctx, {
109
+ ...res,
110
+ tid: ctx.validated.tid,
111
+ type: "vibes.diy.res-get-doc",
112
+ });
113
+ }
114
+ return Result.Ok(EventoResult.Stop);
115
+ },
116
+ };
117
+ }
118
+ export function vibeQueryDocs(sandbox) {
119
+ return {
120
+ hash: "vibe.queryDocs",
121
+ validate: (ctx) => {
122
+ const { request: req } = ctx;
123
+ if (isReqQueryDocs(req?.data)) {
124
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
125
+ }
126
+ return Promise.resolve(Result.Ok(Option.None()));
127
+ },
128
+ handle: async (ctx) => {
129
+ const api = await requireVibeApi(sandbox, ctx, "vibes.diy.res-query-docs");
130
+ if (api === undefined)
131
+ return Result.Ok(EventoResult.Stop);
132
+ const rRes = await api.queryDocs({
133
+ ownerHandle: ctx.validated.ownerHandle,
134
+ appSlug: ctx.validated.appSlug,
135
+ dbName: ctx.validated.dbName,
136
+ });
137
+ if (rRes.isErr()) {
138
+ await ctx.send.send(ctx, {
139
+ tid: ctx.validated.tid,
140
+ type: "vibes.diy.res-query-docs",
141
+ status: "error",
142
+ message: rRes.Err().message,
143
+ });
144
+ }
145
+ else {
146
+ const res = rRes.Ok();
147
+ await ctx.send.send(ctx, {
148
+ ...res,
149
+ tid: ctx.validated.tid,
150
+ type: "vibes.diy.res-query-docs",
151
+ });
152
+ }
153
+ return Result.Ok(EventoResult.Stop);
154
+ },
155
+ };
156
+ }
157
+ export function vibeDeleteDoc(sandbox) {
158
+ return {
159
+ hash: "vibe.deleteDoc",
160
+ validate: (ctx) => {
161
+ const { request: req } = ctx;
162
+ if (isReqDeleteDoc(req?.data)) {
163
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
164
+ }
165
+ return Promise.resolve(Result.Ok(Option.None()));
166
+ },
167
+ handle: async (ctx) => {
168
+ const api = await requireVibeApi(sandbox, ctx, "vibes.diy.res-delete-doc");
169
+ if (api === undefined)
170
+ return Result.Ok(EventoResult.Stop);
171
+ const rRes = await api.deleteDoc({
172
+ ownerHandle: ctx.validated.ownerHandle,
173
+ appSlug: ctx.validated.appSlug,
174
+ dbName: ctx.validated.dbName,
175
+ docId: ctx.validated.docId,
176
+ });
177
+ if (rRes.isErr()) {
178
+ await ctx.send.send(ctx, {
179
+ tid: ctx.validated.tid,
180
+ type: "vibes.diy.res-delete-doc",
181
+ status: "error",
182
+ message: rRes.Err().message,
183
+ });
184
+ }
185
+ else {
186
+ const res = rRes.Ok();
187
+ await ctx.send.send(ctx, {
188
+ ...res,
189
+ tid: ctx.validated.tid,
190
+ type: "vibes.diy.res-delete-doc",
191
+ });
192
+ }
193
+ return Result.Ok(EventoResult.Stop);
194
+ },
195
+ };
196
+ }
197
+ export function vibeSubscribeDocs(sandbox) {
198
+ return {
199
+ hash: "vibe.subscribeDocs",
200
+ validate: (ctx) => {
201
+ const { request: req } = ctx;
202
+ if (isReqSubscribeDocs(req?.data)) {
203
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
204
+ }
205
+ return Promise.resolve(Result.Ok(Option.None()));
206
+ },
207
+ handle: async (ctx) => {
208
+ const api = await requireVibeApi(sandbox, ctx, "vibes.diy.res-subscribe-docs");
209
+ if (api === undefined)
210
+ return Result.Ok(EventoResult.Stop);
211
+ const rRes = await api.subscribeDocs({
212
+ ownerHandle: ctx.validated.ownerHandle,
213
+ appSlug: ctx.validated.appSlug,
214
+ dbName: ctx.validated.dbName,
215
+ });
216
+ if (rRes.isErr()) {
217
+ await ctx.send.send(ctx, {
218
+ tid: ctx.validated.tid,
219
+ type: "vibes.diy.res-subscribe-docs",
220
+ status: "error",
221
+ message: rRes.Err().message,
222
+ });
223
+ }
224
+ else {
225
+ await ctx.send.send(ctx, {
226
+ ...rRes.Ok(),
227
+ tid: ctx.validated.tid,
228
+ type: "vibes.diy.res-subscribe-docs",
229
+ });
230
+ }
231
+ return Result.Ok(EventoResult.Stop);
232
+ },
233
+ };
234
+ }
235
+ export function vibeSetDbAcl(sandbox) {
236
+ return {
237
+ hash: "vibe.setDbAcl",
238
+ validate: (ctx) => {
239
+ const { request: req } = ctx;
240
+ if (isReqSetDbAcl(req?.data)) {
241
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
242
+ }
243
+ return Promise.resolve(Result.Ok(Option.None()));
244
+ },
245
+ handle: async (ctx) => {
246
+ const api = await requireVibeApi(sandbox, ctx, "vibes.diy.res-set-db-acl");
247
+ if (api === undefined)
248
+ return Result.Ok(EventoResult.Stop);
249
+ const rRes = await api.ensureAppSettings({
250
+ ownerHandle: ctx.validated.ownerHandle,
251
+ appSlug: ctx.validated.appSlug,
252
+ dbAcl: { dbName: ctx.validated.dbName, acl: ctx.validated.acl },
253
+ });
254
+ if (rRes.isErr()) {
255
+ await ctx.send.send(ctx, {
256
+ tid: ctx.validated.tid,
257
+ type: "vibes.diy.res-set-db-acl",
258
+ status: "error",
259
+ message: rRes.Err().message,
260
+ });
261
+ }
262
+ else {
263
+ await ctx.send.send(ctx, {
264
+ tid: ctx.validated.tid,
265
+ type: "vibes.diy.res-set-db-acl",
266
+ status: "ok",
267
+ });
268
+ }
269
+ return Result.Ok(EventoResult.Stop);
270
+ },
271
+ };
272
+ }
273
+ export function vibeListDbNames(sandbox) {
274
+ return {
275
+ hash: "vibe.listDbNames",
276
+ validate: (ctx) => {
277
+ const { request: req } = ctx;
278
+ if (isReqListDbNames(req?.data)) {
279
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
280
+ }
281
+ return Promise.resolve(Result.Ok(Option.None()));
282
+ },
283
+ handle: async (ctx) => {
284
+ const api = await requireVibeApi(sandbox, ctx, "vibes.diy.res-list-db-names");
285
+ if (api === undefined)
286
+ return Result.Ok(EventoResult.Stop);
287
+ const rRes = await api.listDbNames({
288
+ ownerHandle: ctx.validated.ownerHandle,
289
+ appSlug: ctx.validated.appSlug,
290
+ });
291
+ if (rRes.isErr()) {
292
+ await ctx.send.send(ctx, {
293
+ tid: ctx.validated.tid,
294
+ type: "vibes.diy.res-list-db-names",
295
+ status: "error",
296
+ message: rRes.Err().message,
297
+ });
298
+ }
299
+ else {
300
+ await ctx.send.send(ctx, {
301
+ ...rRes.Ok(),
302
+ tid: ctx.validated.tid,
303
+ });
304
+ }
305
+ return Result.Ok(EventoResult.Stop);
306
+ },
307
+ };
308
+ }
309
+ //# sourceMappingURL=srv-sandbox-firefly-doc-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srv-sandbox-firefly-doc-handlers.js","sourceRoot":"","sources":["../jsr/srv-sandbox-firefly-doc-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { VibesDiyApiIface } from "@vibes.diy/api-types";
3
+ export interface VibesDiySrvSandboxArgs {
4
+ chatApi: VibesDiyApiIface;
5
+ vibeApi?: VibesDiyApiIface;
6
+ errorLogger: (r: string | Result<unknown> | Error) => void;
7
+ eventListeners: {
8
+ addEventListener: typeof window.addEventListener;
9
+ removeEventListener: typeof window.removeEventListener;
10
+ };
11
+ fetch?: typeof fetch;
12
+ openSignIn?: () => void;
13
+ confirmAvatarUpdate?: (req: {
14
+ cid: string;
15
+ mimeType?: string;
16
+ getURL?: string;
17
+ }) => Promise<boolean>;
18
+ ensureAssetSession?: () => Promise<void>;
19
+ }
20
+ export interface VibeApiCapableSandbox {
21
+ readonly args: VibesDiySrvSandboxArgs;
22
+ readonly vibeApi: VibesDiyApiIface | undefined;
23
+ recordAssetGetURL(cid: string, getURL: string): void;
24
+ getAssetGetURL(cid: string): string | undefined;
25
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=srv-sandbox-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srv-sandbox-types.js","sourceRoot":"","sources":["../jsr/srv-sandbox-types.ts"],"names":[],"mappings":""}
package/srv-sandbox.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { Evento, EventoEnDecoder, HandleTriggerCtx, Result, EventoSendProvider } from "@adviser/cement";
2
- import { ImgGenFile, EvtVibeViewerChanged, EvtVibeColorOverride } from "@vibes.diy/vibe-types";
3
- import { PromptReq, SectionEvent, VibesDiyApiIface } from "@vibes.diy/api-types";
4
- import { CodeEndMsg } from "@vibes.diy/call-ai-v2";
2
+ import { type EvtVibeViewerChanged, type EvtVibeColorOverride } from "@vibes.diy/vibe-types";
3
+ import type { VibesDiyApiIface } from "@vibes.diy/api-types";
4
+ import type { VibesDiySrvSandboxArgs } from "./srv-sandbox-types.js";
5
+ export { getCodeBlock, getImageFiles } from "./srv-sandbox-ai-image-handlers.js";
5
6
  export declare class MessageEventEventoEnDecoder implements EventoEnDecoder<MessageEvent, unknown> {
6
7
  encode(me: MessageEvent): Promise<Result<unknown>>;
7
8
  decode(data: unknown): Promise<Result<unknown>>;
@@ -12,30 +13,6 @@ export declare class PostMsgSendProvider implements EventoSendProvider<MessageEv
12
13
  constructor(window: Window, event: MessageEvent);
13
14
  send<IS, OS>(trigger: HandleTriggerCtx<MessageEvent<unknown>, unknown, unknown>, data: IS): Promise<Result<OS, Error>>;
14
15
  }
15
- interface VibesDiySrvSandboxArgs {
16
- chatApi: VibesDiyApiIface;
17
- vibeApi?: VibesDiyApiIface;
18
- errorLogger: (r: string | Result<unknown> | Error) => void;
19
- eventListeners: {
20
- addEventListener: typeof window.addEventListener;
21
- removeEventListener: typeof window.removeEventListener;
22
- };
23
- fetch?: typeof fetch;
24
- openSignIn?: () => void;
25
- confirmAvatarUpdate?: (req: {
26
- cid: string;
27
- mimeType?: string;
28
- getURL?: string;
29
- }) => Promise<boolean>;
30
- ensureAssetSession?: () => Promise<void>;
31
- }
32
- export declare function getCodeBlock(stream: ReadableStream<unknown>): Promise<{
33
- code: string;
34
- sectionEvt: SectionEvent;
35
- promptReq: PromptReq;
36
- codeEnd: CodeEndMsg;
37
- }>;
38
- export declare function getImageFiles(stream: ReadableStream<unknown>): Promise<ImgGenFile[]>;
39
16
  export declare class vibesDiySrvSandbox implements Disposable {
40
17
  readonly evento: Evento;
41
18
  readonly onRuntimeReady: import("@adviser/cement").ReturnOnFunc<[evt: {
@@ -77,4 +54,3 @@ export declare class vibesDiySrvSandbox implements Disposable {
77
54
  [Symbol.dispose](): void;
78
55
  }
79
56
  export declare const VibesDiySrvSandbox: (ctx: VibesDiySrvSandboxArgs) => vibesDiySrvSandbox;
80
- export {};