@vibes.diy/api-svc 2.6.8 → 2.6.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.
@@ -2402,140 +2402,6 @@ export declare const sharedHandlers: readonly [import("@adviser/cement").EventoH
2402
2402
  previewSrc?: string | undefined;
2403
2403
  error?: string | undefined;
2404
2404
  }[];
2405
- } | import("@vibes.diy/api-types").VibesDiyError>];
2406
- export declare const appHandlers: readonly [import("@adviser/cement").EventoHandler<{
2407
- type: "MessageEvent";
2408
- event: {
2409
- data?: unknown;
2410
- origin?: string | null | undefined;
2411
- lastEventId?: string | undefined;
2412
- source?: unknown;
2413
- ports?: unknown;
2414
- };
2415
- } | {
2416
- type: "CloseEvent";
2417
- event: {
2418
- wasClean: boolean;
2419
- code: number;
2420
- reason: string;
2421
- };
2422
- } | {
2423
- type: "ErrorEvent";
2424
- event: {
2425
- message?: string | undefined;
2426
- filename?: string | undefined;
2427
- lineno?: number | undefined;
2428
- colno?: number | undefined;
2429
- error?: unknown;
2430
- };
2431
- }, import("@vibes.diy/api-types").MsgBase<{
2432
- type: "vibes.diy.req-put-doc";
2433
- auth: {
2434
- type: "clerk" | "device-id" | "ucan";
2435
- token: string;
2436
- };
2437
- ownerHandle: string;
2438
- appSlug: string;
2439
- dbName: string;
2440
- doc: Record<string, unknown>;
2441
- docId?: string | undefined;
2442
- }>, {
2443
- type: "vibes.diy.res-put-doc";
2444
- status: "ok";
2445
- id: string;
2446
- } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2447
- type: "MessageEvent";
2448
- event: {
2449
- data?: unknown;
2450
- origin?: string | null | undefined;
2451
- lastEventId?: string | undefined;
2452
- source?: unknown;
2453
- ports?: unknown;
2454
- };
2455
- } | {
2456
- type: "CloseEvent";
2457
- event: {
2458
- wasClean: boolean;
2459
- code: number;
2460
- reason: string;
2461
- };
2462
- } | {
2463
- type: "ErrorEvent";
2464
- event: {
2465
- message?: string | undefined;
2466
- filename?: string | undefined;
2467
- lineno?: number | undefined;
2468
- colno?: number | undefined;
2469
- error?: unknown;
2470
- };
2471
- }, import("@vibes.diy/api-types").MsgBase<{
2472
- type: "vibes.diy.req-get-doc";
2473
- auth?: {
2474
- type: "clerk" | "device-id" | "ucan";
2475
- token: string;
2476
- } | undefined;
2477
- ownerHandle: string;
2478
- appSlug: string;
2479
- dbName: string;
2480
- docId: string;
2481
- adminMode?: boolean | undefined;
2482
- }>, {
2483
- type: "vibes.diy.res-get-doc";
2484
- status: "ok";
2485
- id: string;
2486
- doc: Record<string, unknown>;
2487
- } | {
2488
- type: "vibes.diy.res-get-doc";
2489
- status: "not-found";
2490
- id: string;
2491
- } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2492
- type: "MessageEvent";
2493
- event: {
2494
- data?: unknown;
2495
- origin?: string | null | undefined;
2496
- lastEventId?: string | undefined;
2497
- source?: unknown;
2498
- ports?: unknown;
2499
- };
2500
- } | {
2501
- type: "CloseEvent";
2502
- event: {
2503
- wasClean: boolean;
2504
- code: number;
2505
- reason: string;
2506
- };
2507
- } | {
2508
- type: "ErrorEvent";
2509
- event: {
2510
- message?: string | undefined;
2511
- filename?: string | undefined;
2512
- lineno?: number | undefined;
2513
- colno?: number | undefined;
2514
- error?: unknown;
2515
- };
2516
- }, import("@vibes.diy/api-types").MsgBase<{
2517
- type: "vibes.diy.req-query-docs";
2518
- auth?: {
2519
- type: "clerk" | "device-id" | "ucan";
2520
- token: string;
2521
- } | undefined;
2522
- ownerHandle: string;
2523
- appSlug: string;
2524
- dbName: string;
2525
- filter?: {
2526
- field: string;
2527
- key?: unknown;
2528
- keys?: unknown[] | undefined;
2529
- range?: [unknown, unknown] | undefined;
2530
- } | undefined;
2531
- adminMode?: boolean | undefined;
2532
- }>, {
2533
- type: "vibes.diy.res-query-docs";
2534
- status: "ok";
2535
- docs: {
2536
- [x: string]: unknown;
2537
- _id: string;
2538
- }[];
2539
2405
  } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2540
2406
  type: "MessageEvent";
2541
2407
  event: {
@@ -2562,56 +2428,24 @@ export declare const appHandlers: readonly [import("@adviser/cement").EventoHand
2562
2428
  error?: unknown;
2563
2429
  };
2564
2430
  }, import("@vibes.diy/api-types").MsgBase<{
2565
- type: "vibes.diy.req-delete-doc";
2431
+ type: "vibes.diy.req-get-chat-details";
2566
2432
  auth: {
2567
2433
  type: "clerk" | "device-id" | "ucan";
2568
2434
  token: string;
2569
2435
  };
2570
2436
  ownerHandle: string;
2571
2437
  appSlug: string;
2572
- dbName: string;
2573
- docId: string;
2438
+ chatId?: string | undefined;
2574
2439
  }>, {
2575
- type: "vibes.diy.res-delete-doc";
2576
- status: "ok";
2577
- id: string;
2578
- } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2579
- type: "MessageEvent";
2580
- event: {
2581
- data?: unknown;
2582
- origin?: string | null | undefined;
2583
- lastEventId?: string | undefined;
2584
- source?: unknown;
2585
- ports?: unknown;
2586
- };
2587
- } | {
2588
- type: "CloseEvent";
2589
- event: {
2590
- wasClean: boolean;
2591
- code: number;
2592
- reason: string;
2593
- };
2594
- } | {
2595
- type: "ErrorEvent";
2596
- event: {
2597
- message?: string | undefined;
2598
- filename?: string | undefined;
2599
- lineno?: number | undefined;
2600
- colno?: number | undefined;
2601
- error?: unknown;
2602
- };
2603
- }, import("@vibes.diy/api-types").MsgBase<{
2604
- type: "vibes.diy.req-subscribe-docs";
2605
- auth?: {
2606
- type: "clerk" | "device-id" | "ucan";
2607
- token: string;
2608
- } | undefined;
2440
+ type: "vibes.diy.res-get-chat-details";
2441
+ chatId?: string | undefined;
2609
2442
  ownerHandle: string;
2610
2443
  appSlug: string;
2611
- dbName: string;
2612
- }>, {
2613
- type: "vibes.diy.res-subscribe-docs";
2614
- status: "ok";
2444
+ prompts: {
2445
+ prompt: string;
2446
+ fsId: string;
2447
+ created: string;
2448
+ }[];
2615
2449
  } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2616
2450
  type: "MessageEvent";
2617
2451
  event: {
@@ -2638,91 +2472,545 @@ export declare const appHandlers: readonly [import("@adviser/cement").EventoHand
2638
2472
  error?: unknown;
2639
2473
  };
2640
2474
  }, import("@vibes.diy/api-types").MsgBase<{
2641
- type: "vibes.diy.req-subscribe-viewer-grants";
2475
+ type: "vibes.diy.req-get-chat-response";
2642
2476
  auth: {
2643
2477
  type: "clerk" | "device-id" | "ucan";
2644
2478
  token: string;
2645
2479
  };
2646
2480
  ownerHandle: string;
2647
2481
  appSlug: string;
2482
+ chatId?: string | undefined;
2483
+ promptId?: string | undefined;
2648
2484
  }>, {
2649
- type: "vibes.diy.res-subscribe-viewer-grants";
2650
- status: "ok";
2651
- } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2652
- type: "MessageEvent";
2653
- event: {
2654
- data?: unknown;
2655
- origin?: string | null | undefined;
2656
- lastEventId?: string | undefined;
2657
- source?: unknown;
2658
- ports?: unknown;
2659
- };
2660
- } | {
2661
- type: "CloseEvent";
2662
- event: {
2663
- wasClean: boolean;
2664
- code: number;
2665
- reason: string;
2666
- };
2667
- } | {
2668
- type: "ErrorEvent";
2669
- event: {
2670
- message?: string | undefined;
2671
- filename?: string | undefined;
2672
- lineno?: number | undefined;
2673
- colno?: number | undefined;
2674
- error?: unknown;
2675
- };
2676
- }, import("@vibes.diy/api-types").MsgBase<{
2677
- type: "vibes.diy.req-list-db-names";
2678
- auth: {
2679
- type: "clerk" | "device-id" | "ucan";
2680
- token: string;
2681
- };
2485
+ type: "vibes.diy.res-get-chat-response";
2486
+ chatId?: string | undefined;
2682
2487
  ownerHandle: string;
2683
2488
  appSlug: string;
2684
- }>, {
2685
- type: "vibes.diy.res-list-db-names";
2686
- status: "ok";
2687
- dbNames: string[];
2688
- } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2689
- type: "MessageEvent";
2690
- event: {
2691
- data?: unknown;
2692
- origin?: string | null | undefined;
2693
- lastEventId?: string | undefined;
2694
- source?: unknown;
2695
- ports?: unknown;
2696
- };
2697
- } | {
2698
- type: "CloseEvent";
2699
- event: {
2700
- wasClean: boolean;
2701
- code: number;
2702
- reason: string;
2703
- };
2704
- } | {
2705
- type: "ErrorEvent";
2706
- event: {
2707
- message?: string | undefined;
2708
- filename?: string | undefined;
2709
- lineno?: number | undefined;
2710
- colno?: number | undefined;
2711
- error?: unknown;
2712
- };
2713
- }, import("@vibes.diy/api-types").MsgBase<{
2714
- type: "vibes.diy.req-mark-dm-read";
2715
- auth: {
2716
- type: "clerk" | "device-id" | "ucan";
2489
+ turns: {
2490
+ chatId: string;
2491
+ promptId: string;
2492
+ created: string;
2493
+ fsId?: string | undefined;
2494
+ sections: {
2495
+ blockSeq: number;
2496
+ blocks: ({
2497
+ streamId: string;
2498
+ chatId: string;
2499
+ seq: number;
2500
+ timestamp: Date;
2501
+ type: "prompt.req";
2502
+ request: {
2503
+ model?: string | undefined;
2504
+ messages: {
2505
+ role: "assistant" | "system" | "user";
2506
+ content: ({
2507
+ type: "text";
2508
+ text: string;
2509
+ } | {
2510
+ type: "image_url";
2511
+ image_url: {
2512
+ url: string;
2513
+ };
2514
+ })[];
2515
+ }[];
2516
+ stream?: boolean | undefined;
2517
+ temperature?: number | undefined;
2518
+ max_tokens?: number | undefined;
2519
+ top_p?: number | undefined;
2520
+ logprobs?: boolean | undefined;
2521
+ top_logsprobs?: number | undefined;
2522
+ frequency_penalty?: number | undefined;
2523
+ presence_penalty?: number | undefined;
2524
+ stop?: string | string[] | undefined;
2525
+ verbosity?: "high" | "low" | "max" | "medium" | undefined;
2526
+ modalities?: string[] | undefined;
2527
+ };
2528
+ } | {
2529
+ streamId: string;
2530
+ chatId: string;
2531
+ seq: number;
2532
+ timestamp: Date;
2533
+ type: "prompt.fs";
2534
+ fileSystem: ({
2535
+ filename: string;
2536
+ entryPoint?: boolean | undefined;
2537
+ mimetype?: string | undefined;
2538
+ type: "code-block";
2539
+ lang: string;
2540
+ content: string;
2541
+ } | {
2542
+ filename: string;
2543
+ entryPoint?: boolean | undefined;
2544
+ mimetype?: string | undefined;
2545
+ type: "code-ref";
2546
+ refId: string;
2547
+ } | {
2548
+ filename: string;
2549
+ entryPoint?: boolean | undefined;
2550
+ mimetype?: string | undefined;
2551
+ type: "str-asset-block";
2552
+ content: string;
2553
+ } | {
2554
+ filename: string;
2555
+ entryPoint?: boolean | undefined;
2556
+ mimetype?: string | undefined;
2557
+ type: "str-asset-ref";
2558
+ refId: string;
2559
+ } | {
2560
+ filename: string;
2561
+ entryPoint?: boolean | undefined;
2562
+ mimetype?: string | undefined;
2563
+ type: "uint8-asset-block";
2564
+ content: {
2565
+ [x: number]: number;
2566
+ readonly BYTES_PER_ELEMENT: number;
2567
+ readonly buffer: ArrayBuffer;
2568
+ readonly byteLength: number;
2569
+ readonly byteOffset: number;
2570
+ copyWithin: (target: number, start: number, end?: number) => Uint8Array<ArrayBuffer>;
2571
+ every: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any) => boolean;
2572
+ fill: (value: number, start?: number, end?: number) => Uint8Array<ArrayBuffer>;
2573
+ filter: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => any, thisArg?: any) => Uint8Array<ArrayBuffer>;
2574
+ find: (predicate: (value: number, index: number, obj: Uint8Array<ArrayBuffer>) => boolean, thisArg?: any) => number | undefined;
2575
+ findIndex: (predicate: (value: number, index: number, obj: Uint8Array<ArrayBuffer>) => boolean, thisArg?: any) => number;
2576
+ forEach: (callbackfn: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => void, thisArg?: any) => void;
2577
+ indexOf: (searchElement: number, fromIndex?: number) => number;
2578
+ join: (separator?: string) => string;
2579
+ lastIndexOf: (searchElement: number, fromIndex?: number) => number;
2580
+ readonly length: number;
2581
+ map: (callbackfn: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => number, thisArg?: any) => Uint8Array<ArrayBuffer>;
2582
+ reduce: {
2583
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number): number;
2584
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number, initialValue: number): number;
2585
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => U, initialValue: U): U;
2586
+ };
2587
+ reduceRight: {
2588
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number): number;
2589
+ (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number, initialValue: number): number;
2590
+ <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => U, initialValue: U): U;
2591
+ };
2592
+ reverse: () => Uint8Array<ArrayBuffer>;
2593
+ set: (array: ArrayLike<number>, offset?: number) => void;
2594
+ slice: (start?: number, end?: number) => Uint8Array<ArrayBuffer>;
2595
+ some: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any) => boolean;
2596
+ sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array<ArrayBuffer>;
2597
+ subarray: (begin?: number, end?: number) => Uint8Array<ArrayBuffer>;
2598
+ toLocaleString: {
2599
+ (): string;
2600
+ (locales: string | string[], options?: Intl.NumberFormatOptions): string;
2601
+ };
2602
+ toString: () => string;
2603
+ valueOf: () => Uint8Array<ArrayBuffer>;
2604
+ [Symbol.iterator]: () => ArrayIterator<number>;
2605
+ entries: () => ArrayIterator<[number, number]>;
2606
+ keys: () => ArrayIterator<number>;
2607
+ values: () => ArrayIterator<number>;
2608
+ readonly [Symbol.toStringTag]: "Uint8Array";
2609
+ includes: (searchElement: number, fromIndex?: number) => boolean;
2610
+ at: (index: number) => number | undefined;
2611
+ findLast: {
2612
+ <S extends number>(predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => value is S, thisArg?: any): S | undefined;
2613
+ (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any): number | undefined;
2614
+ };
2615
+ findLastIndex: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any) => number;
2616
+ toReversed: () => Uint8Array<ArrayBuffer>;
2617
+ toSorted: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array<ArrayBuffer>;
2618
+ with: (index: number, value: number) => Uint8Array<ArrayBuffer>;
2619
+ };
2620
+ } | {
2621
+ filename: string;
2622
+ entryPoint?: boolean | undefined;
2623
+ mimetype?: string | undefined;
2624
+ type: "uint8-asset-ref";
2625
+ refId: string;
2626
+ })[];
2627
+ } | {
2628
+ streamId: string;
2629
+ chatId: string;
2630
+ seq: number;
2631
+ timestamp: Date;
2632
+ type: "prompt.block-begin";
2633
+ } | {
2634
+ streamId: string;
2635
+ chatId: string;
2636
+ seq: number;
2637
+ timestamp: Date;
2638
+ type: "prompt.error";
2639
+ error: string;
2640
+ } | {
2641
+ streamId: string;
2642
+ chatId: string;
2643
+ seq: number;
2644
+ timestamp: Date;
2645
+ type: "prompt.block-end";
2646
+ } | {
2647
+ streamId: string;
2648
+ chatId: string;
2649
+ seq: number;
2650
+ timestamp: Date;
2651
+ type: "prompt.model-resolved";
2652
+ model: string;
2653
+ } | {
2654
+ streamId: string;
2655
+ chatId: string;
2656
+ seq: number;
2657
+ timestamp: Date;
2658
+ type: "prompt.raw";
2659
+ text: string;
2660
+ } | {
2661
+ streamId: string;
2662
+ chatId: string;
2663
+ seq: number;
2664
+ timestamp: Date;
2665
+ type: "prompt.dry-run-payload";
2666
+ request: {
2667
+ model?: string | undefined;
2668
+ messages: {
2669
+ role: "assistant" | "system" | "user";
2670
+ content: ({
2671
+ type: "text";
2672
+ text: string;
2673
+ } | {
2674
+ type: "image_url";
2675
+ image_url: {
2676
+ url: string;
2677
+ };
2678
+ })[];
2679
+ }[];
2680
+ stream?: boolean | undefined;
2681
+ temperature?: number | undefined;
2682
+ max_tokens?: number | undefined;
2683
+ top_p?: number | undefined;
2684
+ logprobs?: boolean | undefined;
2685
+ top_logsprobs?: number | undefined;
2686
+ frequency_penalty?: number | undefined;
2687
+ presence_penalty?: number | undefined;
2688
+ stop?: string | string[] | undefined;
2689
+ verbosity?: "high" | "low" | "max" | "medium" | undefined;
2690
+ modalities?: string[] | undefined;
2691
+ };
2692
+ } | {
2693
+ blockId: string;
2694
+ streamId: string;
2695
+ seq: number;
2696
+ blockNr: number;
2697
+ timestamp: Date;
2698
+ type: "block.begin";
2699
+ } | {
2700
+ blockId: string;
2701
+ streamId: string;
2702
+ seq: number;
2703
+ blockNr: number;
2704
+ timestamp: Date;
2705
+ type: "block.end";
2706
+ stats: {
2707
+ toplevel: {
2708
+ lines: number;
2709
+ bytes: number;
2710
+ cnt?: number | undefined;
2711
+ };
2712
+ code: {
2713
+ lines: number;
2714
+ bytes: number;
2715
+ cnt?: number | undefined;
2716
+ };
2717
+ image: {
2718
+ lines: number;
2719
+ bytes: number;
2720
+ cnt?: number | undefined;
2721
+ };
2722
+ total: {
2723
+ lines: number;
2724
+ bytes: number;
2725
+ cnt?: number | undefined;
2726
+ };
2727
+ };
2728
+ usage: {
2729
+ given: {
2730
+ prompt_tokens: number;
2731
+ completion_tokens: number;
2732
+ total_tokens: number;
2733
+ }[];
2734
+ calculated: {
2735
+ prompt_tokens: number;
2736
+ completion_tokens: number;
2737
+ total_tokens: number;
2738
+ };
2739
+ };
2740
+ fsRef?: {
2741
+ appSlug: string;
2742
+ mode: "dev" | "production";
2743
+ fsId: string;
2744
+ ownerHandle: string;
2745
+ } | undefined;
2746
+ } | {
2747
+ blockId: string;
2748
+ streamId: string;
2749
+ seq: number;
2750
+ blockNr: number;
2751
+ timestamp: Date;
2752
+ type: "block.stats";
2753
+ stats: {
2754
+ toplevel: {
2755
+ lines: number;
2756
+ bytes: number;
2757
+ cnt?: number | undefined;
2758
+ };
2759
+ code: {
2760
+ lines: number;
2761
+ bytes: number;
2762
+ cnt?: number | undefined;
2763
+ };
2764
+ image: {
2765
+ lines: number;
2766
+ bytes: number;
2767
+ cnt?: number | undefined;
2768
+ };
2769
+ total: {
2770
+ lines: number;
2771
+ bytes: number;
2772
+ cnt?: number | undefined;
2773
+ };
2774
+ };
2775
+ usage: {
2776
+ prompt_tokens: number;
2777
+ completion_tokens: number;
2778
+ total_tokens: number;
2779
+ };
2780
+ } | {
2781
+ blockId: string;
2782
+ streamId: string;
2783
+ seq: number;
2784
+ blockNr: number;
2785
+ timestamp: Date;
2786
+ stats: {
2787
+ lines: number;
2788
+ bytes: number;
2789
+ cnt?: number | undefined;
2790
+ };
2791
+ type: "block.image";
2792
+ sectionId: string;
2793
+ url?: string | undefined;
2794
+ uploadId?: string | undefined;
2795
+ cid?: string | undefined;
2796
+ mimeType?: string | undefined;
2797
+ size?: number | undefined;
2798
+ } | {
2799
+ blockId: string;
2800
+ streamId: string;
2801
+ seq: number;
2802
+ blockNr: number;
2803
+ timestamp: Date;
2804
+ type: "block.code.begin";
2805
+ sectionId: string;
2806
+ lang: string;
2807
+ path?: string | undefined;
2808
+ } | {
2809
+ blockId: string;
2810
+ streamId: string;
2811
+ seq: number;
2812
+ blockNr: number;
2813
+ timestamp: Date;
2814
+ lineNr: number;
2815
+ line: string;
2816
+ type: "block.code.line";
2817
+ sectionId: string;
2818
+ lang: string;
2819
+ path?: string | undefined;
2820
+ } | {
2821
+ blockId: string;
2822
+ streamId: string;
2823
+ seq: number;
2824
+ blockNr: number;
2825
+ timestamp: Date;
2826
+ stats: {
2827
+ lines: number;
2828
+ bytes: number;
2829
+ cnt?: number | undefined;
2830
+ };
2831
+ type: "block.code.end";
2832
+ sectionId: string;
2833
+ lang: string;
2834
+ path?: string | undefined;
2835
+ } | {
2836
+ blockId: string;
2837
+ streamId: string;
2838
+ seq: number;
2839
+ blockNr: number;
2840
+ timestamp: Date;
2841
+ type: "block.code.truncated";
2842
+ sectionId: string;
2843
+ lang: string;
2844
+ path?: string | undefined;
2845
+ reason: string;
2846
+ kind: string;
2847
+ truncatedAtLine: number;
2848
+ errorCount: number;
2849
+ } | {
2850
+ blockId: string;
2851
+ streamId: string;
2852
+ seq: number;
2853
+ blockNr: number;
2854
+ timestamp: Date;
2855
+ type: "block.toplevel.begin";
2856
+ sectionId: string;
2857
+ } | {
2858
+ blockId: string;
2859
+ streamId: string;
2860
+ seq: number;
2861
+ blockNr: number;
2862
+ timestamp: Date;
2863
+ lineNr: number;
2864
+ line: string;
2865
+ type: "block.toplevel.line";
2866
+ sectionId: string;
2867
+ } | {
2868
+ blockId: string;
2869
+ streamId: string;
2870
+ seq: number;
2871
+ blockNr: number;
2872
+ timestamp: Date;
2873
+ stats: {
2874
+ lines: number;
2875
+ bytes: number;
2876
+ cnt?: number | undefined;
2877
+ };
2878
+ type: "block.toplevel.end";
2879
+ sectionId: string;
2880
+ })[];
2881
+ }[];
2882
+ }[];
2883
+ } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2884
+ type: "MessageEvent";
2885
+ event: {
2886
+ data?: unknown;
2887
+ origin?: string | null | undefined;
2888
+ lastEventId?: string | undefined;
2889
+ source?: unknown;
2890
+ ports?: unknown;
2891
+ };
2892
+ } | {
2893
+ type: "CloseEvent";
2894
+ event: {
2895
+ wasClean: boolean;
2896
+ code: number;
2897
+ reason: string;
2898
+ };
2899
+ } | {
2900
+ type: "ErrorEvent";
2901
+ event: {
2902
+ message?: string | undefined;
2903
+ filename?: string | undefined;
2904
+ lineno?: number | undefined;
2905
+ colno?: number | undefined;
2906
+ error?: unknown;
2907
+ };
2908
+ }, import("@vibes.diy/api-types").MsgBase<{
2909
+ type: "vibes.diy.req-list-application-chats";
2910
+ auth: {
2911
+ type: "clerk" | "device-id" | "ucan";
2717
2912
  token: string;
2718
2913
  };
2719
- channelUserSlug: string;
2720
- lastSeenSeq: number;
2914
+ appSlug?: string | undefined;
2915
+ ownerHandle?: string | undefined;
2916
+ limit?: number | undefined;
2917
+ cursor?: string | undefined;
2721
2918
  }>, {
2722
- type: "vibes.diy.res-mark-dm-read";
2723
- status: "ok";
2919
+ type: "vibes.diy.res-list-application-chats";
2920
+ items: {
2921
+ chatId: string;
2922
+ appSlug: string;
2923
+ ownerHandle: string;
2924
+ created: string;
2925
+ }[];
2926
+ nextCursor?: string | undefined;
2724
2927
  } | import("@vibes.diy/api-types").VibesDiyError>];
2725
- export declare const chatHandlers: readonly [import("@adviser/cement").EventoHandler<{
2928
+ export declare const appHandlers: readonly [import("@adviser/cement").EventoHandler<{
2929
+ type: "MessageEvent";
2930
+ event: {
2931
+ data?: unknown;
2932
+ origin?: string | null | undefined;
2933
+ lastEventId?: string | undefined;
2934
+ source?: unknown;
2935
+ ports?: unknown;
2936
+ };
2937
+ } | {
2938
+ type: "CloseEvent";
2939
+ event: {
2940
+ wasClean: boolean;
2941
+ code: number;
2942
+ reason: string;
2943
+ };
2944
+ } | {
2945
+ type: "ErrorEvent";
2946
+ event: {
2947
+ message?: string | undefined;
2948
+ filename?: string | undefined;
2949
+ lineno?: number | undefined;
2950
+ colno?: number | undefined;
2951
+ error?: unknown;
2952
+ };
2953
+ }, import("@vibes.diy/api-types").MsgBase<{
2954
+ type: "vibes.diy.req-put-doc";
2955
+ auth: {
2956
+ type: "clerk" | "device-id" | "ucan";
2957
+ token: string;
2958
+ };
2959
+ ownerHandle: string;
2960
+ appSlug: string;
2961
+ dbName: string;
2962
+ doc: Record<string, unknown>;
2963
+ docId?: string | undefined;
2964
+ }>, {
2965
+ type: "vibes.diy.res-put-doc";
2966
+ status: "ok";
2967
+ id: string;
2968
+ } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2969
+ type: "MessageEvent";
2970
+ event: {
2971
+ data?: unknown;
2972
+ origin?: string | null | undefined;
2973
+ lastEventId?: string | undefined;
2974
+ source?: unknown;
2975
+ ports?: unknown;
2976
+ };
2977
+ } | {
2978
+ type: "CloseEvent";
2979
+ event: {
2980
+ wasClean: boolean;
2981
+ code: number;
2982
+ reason: string;
2983
+ };
2984
+ } | {
2985
+ type: "ErrorEvent";
2986
+ event: {
2987
+ message?: string | undefined;
2988
+ filename?: string | undefined;
2989
+ lineno?: number | undefined;
2990
+ colno?: number | undefined;
2991
+ error?: unknown;
2992
+ };
2993
+ }, import("@vibes.diy/api-types").MsgBase<{
2994
+ type: "vibes.diy.req-get-doc";
2995
+ auth?: {
2996
+ type: "clerk" | "device-id" | "ucan";
2997
+ token: string;
2998
+ } | undefined;
2999
+ ownerHandle: string;
3000
+ appSlug: string;
3001
+ dbName: string;
3002
+ docId: string;
3003
+ adminMode?: boolean | undefined;
3004
+ }>, {
3005
+ type: "vibes.diy.res-get-doc";
3006
+ status: "ok";
3007
+ id: string;
3008
+ doc: Record<string, unknown>;
3009
+ } | {
3010
+ type: "vibes.diy.res-get-doc";
3011
+ status: "not-found";
3012
+ id: string;
3013
+ } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
2726
3014
  type: "MessageEvent";
2727
3015
  event: {
2728
3016
  data?: unknown;
@@ -2748,254 +3036,104 @@ export declare const chatHandlers: readonly [import("@adviser/cement").EventoHan
2748
3036
  error?: unknown;
2749
3037
  };
2750
3038
  }, import("@vibes.diy/api-types").MsgBase<{
2751
- appSlug: string;
2752
- ownerHandle: string;
2753
- type: "vibes.diy.req-ensure-app-slug";
2754
- auth: {
3039
+ type: "vibes.diy.req-query-docs";
3040
+ auth?: {
2755
3041
  type: "clerk" | "device-id" | "ucan";
2756
3042
  token: string;
2757
- };
2758
- mode: "dev" | "production";
2759
- env?: Record<string, string> | undefined;
2760
- runId?: string | undefined;
2761
- fileSystem: ({
2762
- filename: string;
2763
- entryPoint?: boolean | undefined;
2764
- mimetype?: string | undefined;
2765
- type: "code-block";
2766
- lang: string;
2767
- content: string;
2768
- } | {
2769
- filename: string;
2770
- entryPoint?: boolean | undefined;
2771
- mimetype?: string | undefined;
2772
- type: "code-ref";
2773
- refId: string;
2774
- } | {
2775
- filename: string;
2776
- entryPoint?: boolean | undefined;
2777
- mimetype?: string | undefined;
2778
- type: "str-asset-block";
2779
- content: string;
2780
- } | {
2781
- filename: string;
2782
- entryPoint?: boolean | undefined;
2783
- mimetype?: string | undefined;
2784
- type: "str-asset-ref";
2785
- refId: string;
2786
- } | {
2787
- filename: string;
2788
- entryPoint?: boolean | undefined;
2789
- mimetype?: string | undefined;
2790
- type: "uint8-asset-block";
2791
- content: Uint8Array<ArrayBuffer>;
2792
- } | {
2793
- filename: string;
2794
- entryPoint?: boolean | undefined;
2795
- mimetype?: string | undefined;
2796
- type: "uint8-asset-ref";
2797
- refId: string;
2798
- })[];
2799
- } | {
2800
- appSlug?: string | undefined;
3043
+ } | undefined;
2801
3044
  ownerHandle: string;
2802
- type: "vibes.diy.req-ensure-app-slug";
2803
- auth: {
2804
- type: "clerk" | "device-id" | "ucan";
2805
- token: string;
2806
- };
2807
- mode: "dev" | "production";
2808
- env?: Record<string, string> | undefined;
2809
- runId?: string | undefined;
2810
- fileSystem: ({
2811
- filename: string;
2812
- entryPoint?: boolean | undefined;
2813
- mimetype?: string | undefined;
2814
- type: "code-block";
2815
- lang: string;
2816
- content: string;
2817
- } | {
2818
- filename: string;
2819
- entryPoint?: boolean | undefined;
2820
- mimetype?: string | undefined;
2821
- type: "code-ref";
2822
- refId: string;
2823
- } | {
2824
- filename: string;
2825
- entryPoint?: boolean | undefined;
2826
- mimetype?: string | undefined;
2827
- type: "str-asset-block";
2828
- content: string;
2829
- } | {
2830
- filename: string;
2831
- entryPoint?: boolean | undefined;
2832
- mimetype?: string | undefined;
2833
- type: "str-asset-ref";
2834
- refId: string;
2835
- } | {
2836
- filename: string;
2837
- entryPoint?: boolean | undefined;
2838
- mimetype?: string | undefined;
2839
- type: "uint8-asset-block";
2840
- content: Uint8Array<ArrayBuffer>;
2841
- } | {
2842
- filename: string;
2843
- entryPoint?: boolean | undefined;
2844
- mimetype?: string | undefined;
2845
- type: "uint8-asset-ref";
2846
- refId: string;
2847
- })[];
2848
- } | {
2849
3045
  appSlug: string;
2850
- ownerHandle?: string | undefined;
2851
- type: "vibes.diy.req-ensure-app-slug";
2852
- auth: {
2853
- type: "clerk" | "device-id" | "ucan";
2854
- token: string;
3046
+ dbName: string;
3047
+ filter?: {
3048
+ field: string;
3049
+ key?: unknown;
3050
+ keys?: unknown[] | undefined;
3051
+ range?: [unknown, unknown] | undefined;
3052
+ } | undefined;
3053
+ adminMode?: boolean | undefined;
3054
+ }>, {
3055
+ type: "vibes.diy.res-query-docs";
3056
+ status: "ok";
3057
+ docs: {
3058
+ [x: string]: unknown;
3059
+ _id: string;
3060
+ }[];
3061
+ } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3062
+ type: "MessageEvent";
3063
+ event: {
3064
+ data?: unknown;
3065
+ origin?: string | null | undefined;
3066
+ lastEventId?: string | undefined;
3067
+ source?: unknown;
3068
+ ports?: unknown;
2855
3069
  };
2856
- mode: "dev" | "production";
2857
- env?: Record<string, string> | undefined;
2858
- runId?: string | undefined;
2859
- fileSystem: ({
2860
- filename: string;
2861
- entryPoint?: boolean | undefined;
2862
- mimetype?: string | undefined;
2863
- type: "code-block";
2864
- lang: string;
2865
- content: string;
2866
- } | {
2867
- filename: string;
2868
- entryPoint?: boolean | undefined;
2869
- mimetype?: string | undefined;
2870
- type: "code-ref";
2871
- refId: string;
2872
- } | {
2873
- filename: string;
2874
- entryPoint?: boolean | undefined;
2875
- mimetype?: string | undefined;
2876
- type: "str-asset-block";
2877
- content: string;
2878
- } | {
2879
- filename: string;
2880
- entryPoint?: boolean | undefined;
2881
- mimetype?: string | undefined;
2882
- type: "str-asset-ref";
2883
- refId: string;
2884
- } | {
2885
- filename: string;
2886
- entryPoint?: boolean | undefined;
2887
- mimetype?: string | undefined;
2888
- type: "uint8-asset-block";
2889
- content: Uint8Array<ArrayBuffer>;
2890
- } | {
2891
- filename: string;
2892
- entryPoint?: boolean | undefined;
2893
- mimetype?: string | undefined;
2894
- type: "uint8-asset-ref";
2895
- refId: string;
2896
- })[];
2897
3070
  } | {
2898
- appSlug?: string | undefined;
2899
- ownerHandle?: string | undefined;
2900
- type: "vibes.diy.req-ensure-app-slug";
2901
- auth: {
2902
- type: "clerk" | "device-id" | "ucan";
2903
- token: string;
3071
+ type: "CloseEvent";
3072
+ event: {
3073
+ wasClean: boolean;
3074
+ code: number;
3075
+ reason: string;
2904
3076
  };
2905
- mode: "dev" | "production";
2906
- env?: Record<string, string> | undefined;
2907
- runId?: string | undefined;
2908
- fileSystem: ({
2909
- filename: string;
2910
- entryPoint?: boolean | undefined;
2911
- mimetype?: string | undefined;
2912
- type: "code-block";
2913
- lang: string;
2914
- content: string;
2915
- } | {
2916
- filename: string;
2917
- entryPoint?: boolean | undefined;
2918
- mimetype?: string | undefined;
2919
- type: "code-ref";
2920
- refId: string;
2921
- } | {
2922
- filename: string;
2923
- entryPoint?: boolean | undefined;
2924
- mimetype?: string | undefined;
2925
- type: "str-asset-block";
2926
- content: string;
2927
- } | {
2928
- filename: string;
2929
- entryPoint?: boolean | undefined;
2930
- mimetype?: string | undefined;
2931
- type: "str-asset-ref";
2932
- refId: string;
2933
- } | {
2934
- filename: string;
2935
- entryPoint?: boolean | undefined;
2936
- mimetype?: string | undefined;
2937
- type: "uint8-asset-block";
2938
- content: Uint8Array<ArrayBuffer>;
2939
- } | {
2940
- filename: string;
2941
- entryPoint?: boolean | undefined;
2942
- mimetype?: string | undefined;
2943
- type: "uint8-asset-ref";
2944
- refId: string;
2945
- })[];
2946
- }>, {
2947
- appSlug: string;
2948
- ownerHandle: string;
2949
- mode: "dev" | "production";
2950
- fsId: string;
2951
- type: "vibes.diy.res-ensure-app-slug";
2952
- env: Record<string, string>;
2953
- fileSystem: {
2954
- fileName: string;
2955
- mimeType: string;
2956
- assetId: string;
2957
- assetURI: string;
2958
- transform?: {
2959
- type: "jsx-to-js";
2960
- transformedAssetId: string;
2961
- } | {
2962
- type: "imports";
2963
- importMapAssetId: string;
2964
- } | {
2965
- type: "import-map";
2966
- fromAssetIds: string[];
2967
- } | {
2968
- type: "transformed";
2969
- action: "jsx-to-js";
2970
- transformedAssetId: string;
2971
- } | undefined;
2972
- entryPoint?: boolean | undefined;
2973
- size: number;
2974
- }[];
2975
3077
  } | {
2976
- type: "vibes.diy.res-error";
2977
- error: {
2978
- message: string;
2979
- code: "require-login";
3078
+ type: "ErrorEvent";
3079
+ event: {
3080
+ message?: string | undefined;
3081
+ filename?: string | undefined;
3082
+ lineno?: number | undefined;
3083
+ colno?: number | undefined;
3084
+ error?: unknown;
2980
3085
  };
2981
- } | {
2982
- type: "vibes.diy.res-error";
2983
- error: {
2984
- message: string;
2985
- code: "user-slug-invalid";
3086
+ }, import("@vibes.diy/api-types").MsgBase<{
3087
+ type: "vibes.diy.req-delete-doc";
3088
+ auth: {
3089
+ type: "clerk" | "device-id" | "ucan";
3090
+ token: string;
3091
+ };
3092
+ ownerHandle: string;
3093
+ appSlug: string;
3094
+ dbName: string;
3095
+ docId: string;
3096
+ }>, {
3097
+ type: "vibes.diy.res-delete-doc";
3098
+ status: "ok";
3099
+ id: string;
3100
+ } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3101
+ type: "MessageEvent";
3102
+ event: {
3103
+ data?: unknown;
3104
+ origin?: string | null | undefined;
3105
+ lastEventId?: string | undefined;
3106
+ source?: unknown;
3107
+ ports?: unknown;
2986
3108
  };
2987
3109
  } | {
2988
- type: "vibes.diy.res-error";
2989
- error: {
2990
- message: string;
2991
- code: "app-slug-invalid";
3110
+ type: "CloseEvent";
3111
+ event: {
3112
+ wasClean: boolean;
3113
+ code: number;
3114
+ reason: string;
2992
3115
  };
2993
3116
  } | {
2994
- type: "vibes.diy.res-error";
2995
- error: {
2996
- message: string;
2997
- code: "max-app-slugs-reached";
3117
+ type: "ErrorEvent";
3118
+ event: {
3119
+ message?: string | undefined;
3120
+ filename?: string | undefined;
3121
+ lineno?: number | undefined;
3122
+ colno?: number | undefined;
3123
+ error?: unknown;
2998
3124
  };
3125
+ }, import("@vibes.diy/api-types").MsgBase<{
3126
+ type: "vibes.diy.req-subscribe-docs";
3127
+ auth?: {
3128
+ type: "clerk" | "device-id" | "ucan";
3129
+ token: string;
3130
+ } | undefined;
3131
+ ownerHandle: string;
3132
+ appSlug: string;
3133
+ dbName: string;
3134
+ }>, {
3135
+ type: "vibes.diy.res-subscribe-docs";
3136
+ status: "ok";
2999
3137
  } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3000
3138
  type: "MessageEvent";
3001
3139
  event: {
@@ -3022,23 +3160,16 @@ export declare const chatHandlers: readonly [import("@adviser/cement").EventoHan
3022
3160
  error?: unknown;
3023
3161
  };
3024
3162
  }, import("@vibes.diy/api-types").MsgBase<{
3025
- type: "vibes.diy.req-open-chat";
3163
+ type: "vibes.diy.req-subscribe-viewer-grants";
3026
3164
  auth: {
3027
3165
  type: "clerk" | "device-id" | "ucan";
3028
3166
  token: string;
3029
3167
  };
3030
- appSlug?: string | undefined;
3031
- ownerHandle?: string | undefined;
3032
- chatId?: string | undefined;
3033
- prompt?: string | undefined;
3034
- dryRun?: boolean | undefined;
3035
- mode: "app" | "chat" | "codegen" | "fs-set" | "fs-update" | "img" | "runtime";
3036
- }>, {
3037
- type: "vibes.diy.res-open-chat";
3038
- appSlug: string;
3039
3168
  ownerHandle: string;
3040
- chatId: string;
3041
- mode: "app" | "chat" | "codegen" | "fs-set" | "fs-update" | "img" | "runtime";
3169
+ appSlug: string;
3170
+ }>, {
3171
+ type: "vibes.diy.res-subscribe-viewer-grants";
3172
+ status: "ok";
3042
3173
  } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3043
3174
  type: "MessageEvent";
3044
3175
  event: {
@@ -3065,230 +3196,238 @@ export declare const chatHandlers: readonly [import("@adviser/cement").EventoHan
3065
3196
  error?: unknown;
3066
3197
  };
3067
3198
  }, import("@vibes.diy/api-types").MsgBase<{
3068
- type: "vibes.diy.req-prompt-chat-section";
3069
- mode: "chat" | "codegen";
3199
+ type: "vibes.diy.req-list-db-names";
3070
3200
  auth: {
3071
3201
  type: "clerk" | "device-id" | "ucan";
3072
3202
  token: string;
3073
3203
  };
3074
- chatId: string;
3075
- outerTid: string;
3076
- prompt: {
3077
- model?: string | undefined;
3078
- messages: {
3079
- role: "assistant" | "system" | "user";
3080
- content: ({
3081
- type: "text";
3082
- text: string;
3083
- } | {
3084
- type: "image_url";
3085
- image_url: {
3086
- url: string;
3087
- };
3088
- })[];
3089
- }[];
3090
- stream?: boolean | undefined;
3091
- temperature?: number | undefined;
3092
- max_tokens?: number | undefined;
3093
- top_p?: number | undefined;
3094
- logprobs?: boolean | undefined;
3095
- top_logsprobs?: number | undefined;
3096
- frequency_penalty?: number | undefined;
3097
- presence_penalty?: number | undefined;
3098
- stop?: string | string[] | undefined;
3099
- verbosity?: "high" | "low" | "max" | "medium" | undefined;
3100
- modalities?: string[] | undefined;
3204
+ ownerHandle: string;
3205
+ appSlug: string;
3206
+ }>, {
3207
+ type: "vibes.diy.res-list-db-names";
3208
+ status: "ok";
3209
+ dbNames: string[];
3210
+ } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3211
+ type: "MessageEvent";
3212
+ event: {
3213
+ data?: unknown;
3214
+ origin?: string | null | undefined;
3215
+ lastEventId?: string | undefined;
3216
+ source?: unknown;
3217
+ ports?: unknown;
3101
3218
  };
3102
- dryRun?: boolean | undefined;
3103
- dryRunPreAllocate?: boolean | undefined;
3104
- ownerHandle?: string | undefined;
3105
- appSlug?: string | undefined;
3106
- selected?: {
3107
- kind: "version";
3108
- fsId: string;
3109
- } | {
3110
- kind: "draft";
3111
- files: ({
3112
- filename: string;
3113
- entryPoint?: boolean | undefined;
3114
- mimetype?: string | undefined;
3115
- type: "code-block";
3116
- lang: string;
3117
- content: string;
3118
- } | {
3119
- filename: string;
3120
- entryPoint?: boolean | undefined;
3121
- mimetype?: string | undefined;
3122
- type: "code-ref";
3123
- refId: string;
3124
- } | {
3125
- filename: string;
3126
- entryPoint?: boolean | undefined;
3127
- mimetype?: string | undefined;
3128
- type: "str-asset-block";
3129
- content: string;
3130
- } | {
3131
- filename: string;
3132
- entryPoint?: boolean | undefined;
3133
- mimetype?: string | undefined;
3134
- type: "str-asset-ref";
3135
- refId: string;
3136
- } | {
3137
- filename: string;
3138
- entryPoint?: boolean | undefined;
3139
- mimetype?: string | undefined;
3140
- type: "uint8-asset-block";
3141
- content: Uint8Array<ArrayBuffer>;
3142
- } | {
3143
- filename: string;
3144
- entryPoint?: boolean | undefined;
3145
- mimetype?: string | undefined;
3146
- type: "uint8-asset-ref";
3147
- refId: string;
3148
- })[];
3149
- } | undefined;
3150
- slots?: {
3151
- original?: "off" | "on" | undefined;
3152
- selected?: "off" | "on" | undefined;
3153
- last_edit?: "off" | "on" | undefined;
3154
- previous?: "off" | "on" | undefined;
3155
- compaction?: "off" | "on" | undefined;
3156
- } | undefined;
3157
- focusPath?: string | undefined;
3158
3219
  } | {
3159
- type: "vibes.diy.req-prompt-chat-section";
3160
- mode: "app" | "runtime";
3220
+ type: "CloseEvent";
3221
+ event: {
3222
+ wasClean: boolean;
3223
+ code: number;
3224
+ reason: string;
3225
+ };
3226
+ } | {
3227
+ type: "ErrorEvent";
3228
+ event: {
3229
+ message?: string | undefined;
3230
+ filename?: string | undefined;
3231
+ lineno?: number | undefined;
3232
+ colno?: number | undefined;
3233
+ error?: unknown;
3234
+ };
3235
+ }, import("@vibes.diy/api-types").MsgBase<{
3236
+ type: "vibes.diy.req-mark-dm-read";
3161
3237
  auth: {
3162
3238
  type: "clerk" | "device-id" | "ucan";
3163
3239
  token: string;
3164
3240
  };
3165
- chatId: string;
3166
- outerTid: string;
3167
- prompt: {
3168
- model?: string | undefined;
3169
- messages: {
3170
- role: "assistant" | "system" | "user";
3171
- content: ({
3172
- type: "text";
3173
- text: string;
3174
- } | {
3175
- type: "image_url";
3176
- image_url: {
3177
- url: string;
3178
- };
3179
- })[];
3180
- }[];
3181
- stream?: boolean | undefined;
3182
- temperature?: number | undefined;
3183
- max_tokens?: number | undefined;
3184
- top_p?: number | undefined;
3185
- logprobs?: boolean | undefined;
3186
- top_logsprobs?: number | undefined;
3187
- frequency_penalty?: number | undefined;
3188
- presence_penalty?: number | undefined;
3189
- stop?: string | string[] | undefined;
3190
- verbosity?: "high" | "low" | "max" | "medium" | undefined;
3191
- modalities?: string[] | undefined;
3241
+ channelUserSlug: string;
3242
+ lastSeenSeq: number;
3243
+ }>, {
3244
+ type: "vibes.diy.res-mark-dm-read";
3245
+ status: "ok";
3246
+ } | import("@vibes.diy/api-types").VibesDiyError>];
3247
+ export declare const chatHandlers: readonly [import("@adviser/cement").EventoHandler<{
3248
+ type: "MessageEvent";
3249
+ event: {
3250
+ data?: unknown;
3251
+ origin?: string | null | undefined;
3252
+ lastEventId?: string | undefined;
3253
+ source?: unknown;
3254
+ ports?: unknown;
3255
+ };
3256
+ } | {
3257
+ type: "CloseEvent";
3258
+ event: {
3259
+ wasClean: boolean;
3260
+ code: number;
3261
+ reason: string;
3262
+ };
3263
+ } | {
3264
+ type: "ErrorEvent";
3265
+ event: {
3266
+ message?: string | undefined;
3267
+ filename?: string | undefined;
3268
+ lineno?: number | undefined;
3269
+ colno?: number | undefined;
3270
+ error?: unknown;
3192
3271
  };
3193
- } | {
3194
- type: "vibes.diy.req-prompt-chat-section";
3195
- mode: "img";
3272
+ }, import("@vibes.diy/api-types").MsgBase<{
3273
+ appSlug: string;
3274
+ ownerHandle: string;
3275
+ type: "vibes.diy.req-ensure-app-slug";
3196
3276
  auth: {
3197
3277
  type: "clerk" | "device-id" | "ucan";
3198
3278
  token: string;
3199
3279
  };
3200
- chatId: string;
3201
- outerTid: string;
3202
- prompt: {
3203
- model?: string | undefined;
3204
- messages: {
3205
- role: "assistant" | "system" | "user";
3206
- content: ({
3207
- type: "text";
3208
- text: string;
3209
- } | {
3210
- type: "image_url";
3211
- image_url: {
3212
- url: string;
3213
- };
3214
- })[];
3215
- }[];
3216
- stream?: boolean | undefined;
3217
- temperature?: number | undefined;
3218
- max_tokens?: number | undefined;
3219
- top_p?: number | undefined;
3220
- logprobs?: boolean | undefined;
3221
- top_logsprobs?: number | undefined;
3222
- frequency_penalty?: number | undefined;
3223
- presence_penalty?: number | undefined;
3224
- stop?: string | string[] | undefined;
3225
- verbosity?: "high" | "low" | "max" | "medium" | undefined;
3226
- modalities?: string[] | undefined;
3227
- };
3228
- inputImageBase64?: string | undefined;
3280
+ mode: "dev" | "production";
3281
+ env?: Record<string, string> | undefined;
3282
+ runId?: string | undefined;
3283
+ fileSystem: ({
3284
+ filename: string;
3285
+ entryPoint?: boolean | undefined;
3286
+ mimetype?: string | undefined;
3287
+ type: "code-block";
3288
+ lang: string;
3289
+ content: string;
3290
+ } | {
3291
+ filename: string;
3292
+ entryPoint?: boolean | undefined;
3293
+ mimetype?: string | undefined;
3294
+ type: "code-ref";
3295
+ refId: string;
3296
+ } | {
3297
+ filename: string;
3298
+ entryPoint?: boolean | undefined;
3299
+ mimetype?: string | undefined;
3300
+ type: "str-asset-block";
3301
+ content: string;
3302
+ } | {
3303
+ filename: string;
3304
+ entryPoint?: boolean | undefined;
3305
+ mimetype?: string | undefined;
3306
+ type: "str-asset-ref";
3307
+ refId: string;
3308
+ } | {
3309
+ filename: string;
3310
+ entryPoint?: boolean | undefined;
3311
+ mimetype?: string | undefined;
3312
+ type: "uint8-asset-block";
3313
+ content: Uint8Array<ArrayBuffer>;
3314
+ } | {
3315
+ filename: string;
3316
+ entryPoint?: boolean | undefined;
3317
+ mimetype?: string | undefined;
3318
+ type: "uint8-asset-ref";
3319
+ refId: string;
3320
+ })[];
3229
3321
  } | {
3230
- type: "vibes.diy.req-prompt-chat-section";
3231
- mode: "fs-update";
3322
+ appSlug?: string | undefined;
3323
+ ownerHandle: string;
3324
+ type: "vibes.diy.req-ensure-app-slug";
3232
3325
  auth: {
3233
3326
  type: "clerk" | "device-id" | "ucan";
3234
3327
  token: string;
3235
3328
  };
3236
- chatId: string;
3237
- outerTid: string;
3238
- refFsId?: string | undefined;
3239
- fsUpdate: {
3240
- update: ({
3241
- filename: string;
3242
- entryPoint?: boolean | undefined;
3243
- mimetype?: string | undefined;
3244
- type: "code-block";
3245
- lang: string;
3246
- content: string;
3247
- } | {
3248
- filename: string;
3249
- entryPoint?: boolean | undefined;
3250
- mimetype?: string | undefined;
3251
- type: "code-ref";
3252
- refId: string;
3253
- } | {
3254
- filename: string;
3255
- entryPoint?: boolean | undefined;
3256
- mimetype?: string | undefined;
3257
- type: "str-asset-block";
3258
- content: string;
3259
- } | {
3260
- filename: string;
3261
- entryPoint?: boolean | undefined;
3262
- mimetype?: string | undefined;
3263
- type: "str-asset-ref";
3264
- refId: string;
3265
- } | {
3266
- filename: string;
3267
- entryPoint?: boolean | undefined;
3268
- mimetype?: string | undefined;
3269
- type: "uint8-asset-block";
3270
- content: Uint8Array<ArrayBuffer>;
3271
- } | {
3272
- filename: string;
3273
- entryPoint?: boolean | undefined;
3274
- mimetype?: string | undefined;
3275
- type: "uint8-asset-ref";
3276
- refId: string;
3277
- })[];
3278
- remove: {
3279
- filename: string;
3280
- }[];
3329
+ mode: "dev" | "production";
3330
+ env?: Record<string, string> | undefined;
3331
+ runId?: string | undefined;
3332
+ fileSystem: ({
3333
+ filename: string;
3334
+ entryPoint?: boolean | undefined;
3335
+ mimetype?: string | undefined;
3336
+ type: "code-block";
3337
+ lang: string;
3338
+ content: string;
3339
+ } | {
3340
+ filename: string;
3341
+ entryPoint?: boolean | undefined;
3342
+ mimetype?: string | undefined;
3343
+ type: "code-ref";
3344
+ refId: string;
3345
+ } | {
3346
+ filename: string;
3347
+ entryPoint?: boolean | undefined;
3348
+ mimetype?: string | undefined;
3349
+ type: "str-asset-block";
3350
+ content: string;
3351
+ } | {
3352
+ filename: string;
3353
+ entryPoint?: boolean | undefined;
3354
+ mimetype?: string | undefined;
3355
+ type: "str-asset-ref";
3356
+ refId: string;
3357
+ } | {
3358
+ filename: string;
3359
+ entryPoint?: boolean | undefined;
3360
+ mimetype?: string | undefined;
3361
+ type: "uint8-asset-block";
3362
+ content: Uint8Array<ArrayBuffer>;
3363
+ } | {
3364
+ filename: string;
3365
+ entryPoint?: boolean | undefined;
3366
+ mimetype?: string | undefined;
3367
+ type: "uint8-asset-ref";
3368
+ refId: string;
3369
+ })[];
3370
+ } | {
3371
+ appSlug: string;
3372
+ ownerHandle?: string | undefined;
3373
+ type: "vibes.diy.req-ensure-app-slug";
3374
+ auth: {
3375
+ type: "clerk" | "device-id" | "ucan";
3376
+ token: string;
3281
3377
  };
3378
+ mode: "dev" | "production";
3379
+ env?: Record<string, string> | undefined;
3380
+ runId?: string | undefined;
3381
+ fileSystem: ({
3382
+ filename: string;
3383
+ entryPoint?: boolean | undefined;
3384
+ mimetype?: string | undefined;
3385
+ type: "code-block";
3386
+ lang: string;
3387
+ content: string;
3388
+ } | {
3389
+ filename: string;
3390
+ entryPoint?: boolean | undefined;
3391
+ mimetype?: string | undefined;
3392
+ type: "code-ref";
3393
+ refId: string;
3394
+ } | {
3395
+ filename: string;
3396
+ entryPoint?: boolean | undefined;
3397
+ mimetype?: string | undefined;
3398
+ type: "str-asset-block";
3399
+ content: string;
3400
+ } | {
3401
+ filename: string;
3402
+ entryPoint?: boolean | undefined;
3403
+ mimetype?: string | undefined;
3404
+ type: "str-asset-ref";
3405
+ refId: string;
3406
+ } | {
3407
+ filename: string;
3408
+ entryPoint?: boolean | undefined;
3409
+ mimetype?: string | undefined;
3410
+ type: "uint8-asset-block";
3411
+ content: Uint8Array<ArrayBuffer>;
3412
+ } | {
3413
+ filename: string;
3414
+ entryPoint?: boolean | undefined;
3415
+ mimetype?: string | undefined;
3416
+ type: "uint8-asset-ref";
3417
+ refId: string;
3418
+ })[];
3282
3419
  } | {
3283
- type: "vibes.diy.req-prompt-chat-section";
3284
- mode: "fs-set";
3420
+ appSlug?: string | undefined;
3421
+ ownerHandle?: string | undefined;
3422
+ type: "vibes.diy.req-ensure-app-slug";
3285
3423
  auth: {
3286
3424
  type: "clerk" | "device-id" | "ucan";
3287
3425
  token: string;
3288
3426
  };
3289
- chatId: string;
3290
- outerTid: string;
3291
- fsSet: ({
3427
+ mode: "dev" | "production";
3428
+ env?: Record<string, string> | undefined;
3429
+ runId?: string | undefined;
3430
+ fileSystem: ({
3292
3431
  filename: string;
3293
3432
  entryPoint?: boolean | undefined;
3294
3433
  mimetype?: string | undefined;
@@ -3322,11 +3461,64 @@ export declare const chatHandlers: readonly [import("@adviser/cement").EventoHan
3322
3461
  } | {
3323
3462
  filename: string;
3324
3463
  entryPoint?: boolean | undefined;
3325
- mimetype?: string | undefined;
3326
- type: "uint8-asset-ref";
3327
- refId: string;
3328
- })[];
3329
- }>, import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3464
+ mimetype?: string | undefined;
3465
+ type: "uint8-asset-ref";
3466
+ refId: string;
3467
+ })[];
3468
+ }>, {
3469
+ appSlug: string;
3470
+ ownerHandle: string;
3471
+ mode: "dev" | "production";
3472
+ fsId: string;
3473
+ type: "vibes.diy.res-ensure-app-slug";
3474
+ env: Record<string, string>;
3475
+ fileSystem: {
3476
+ fileName: string;
3477
+ mimeType: string;
3478
+ assetId: string;
3479
+ assetURI: string;
3480
+ transform?: {
3481
+ type: "jsx-to-js";
3482
+ transformedAssetId: string;
3483
+ } | {
3484
+ type: "imports";
3485
+ importMapAssetId: string;
3486
+ } | {
3487
+ type: "import-map";
3488
+ fromAssetIds: string[];
3489
+ } | {
3490
+ type: "transformed";
3491
+ action: "jsx-to-js";
3492
+ transformedAssetId: string;
3493
+ } | undefined;
3494
+ entryPoint?: boolean | undefined;
3495
+ size: number;
3496
+ }[];
3497
+ } | {
3498
+ type: "vibes.diy.res-error";
3499
+ error: {
3500
+ message: string;
3501
+ code: "require-login";
3502
+ };
3503
+ } | {
3504
+ type: "vibes.diy.res-error";
3505
+ error: {
3506
+ message: string;
3507
+ code: "user-slug-invalid";
3508
+ };
3509
+ } | {
3510
+ type: "vibes.diy.res-error";
3511
+ error: {
3512
+ message: string;
3513
+ code: "app-slug-invalid";
3514
+ };
3515
+ } | {
3516
+ type: "vibes.diy.res-error";
3517
+ error: {
3518
+ message: string;
3519
+ code: "max-app-slugs-reached";
3520
+ };
3521
+ } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3330
3522
  type: "MessageEvent";
3331
3523
  event: {
3332
3524
  data?: unknown;
@@ -3352,24 +3544,23 @@ export declare const chatHandlers: readonly [import("@adviser/cement").EventoHan
3352
3544
  error?: unknown;
3353
3545
  };
3354
3546
  }, import("@vibes.diy/api-types").MsgBase<{
3355
- type: "vibes.diy.req-get-chat-details";
3547
+ type: "vibes.diy.req-open-chat";
3356
3548
  auth: {
3357
3549
  type: "clerk" | "device-id" | "ucan";
3358
3550
  token: string;
3359
3551
  };
3360
- ownerHandle: string;
3361
- appSlug: string;
3552
+ appSlug?: string | undefined;
3553
+ ownerHandle?: string | undefined;
3362
3554
  chatId?: string | undefined;
3555
+ prompt?: string | undefined;
3556
+ dryRun?: boolean | undefined;
3557
+ mode: "app" | "chat" | "codegen" | "fs-set" | "fs-update" | "img" | "runtime";
3363
3558
  }>, {
3364
- type: "vibes.diy.res-get-chat-details";
3365
- chatId?: string | undefined;
3366
- ownerHandle: string;
3559
+ type: "vibes.diy.res-open-chat";
3367
3560
  appSlug: string;
3368
- prompts: {
3369
- prompt: string;
3370
- fsId: string;
3371
- created: string;
3372
- }[];
3561
+ ownerHandle: string;
3562
+ chatId: string;
3563
+ mode: "app" | "chat" | "codegen" | "fs-set" | "fs-update" | "img" | "runtime";
3373
3564
  } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3374
3565
  type: "MessageEvent";
3375
3566
  event: {
@@ -3381,474 +3572,283 @@ export declare const chatHandlers: readonly [import("@adviser/cement").EventoHan
3381
3572
  };
3382
3573
  } | {
3383
3574
  type: "CloseEvent";
3384
- event: {
3385
- wasClean: boolean;
3386
- code: number;
3387
- reason: string;
3388
- };
3389
- } | {
3390
- type: "ErrorEvent";
3391
- event: {
3392
- message?: string | undefined;
3393
- filename?: string | undefined;
3394
- lineno?: number | undefined;
3395
- colno?: number | undefined;
3396
- error?: unknown;
3397
- };
3398
- }, import("@vibes.diy/api-types").MsgBase<{
3399
- type: "vibes.diy.req-get-chat-response";
3400
- auth: {
3401
- type: "clerk" | "device-id" | "ucan";
3402
- token: string;
3403
- };
3404
- ownerHandle: string;
3405
- appSlug: string;
3406
- chatId?: string | undefined;
3407
- promptId?: string | undefined;
3408
- }>, {
3409
- type: "vibes.diy.res-get-chat-response";
3410
- chatId?: string | undefined;
3411
- ownerHandle: string;
3412
- appSlug: string;
3413
- turns: {
3414
- chatId: string;
3415
- promptId: string;
3416
- created: string;
3417
- fsId?: string | undefined;
3418
- sections: {
3419
- blockSeq: number;
3420
- blocks: ({
3421
- streamId: string;
3422
- chatId: string;
3423
- seq: number;
3424
- timestamp: Date;
3425
- type: "prompt.req";
3426
- request: {
3427
- model?: string | undefined;
3428
- messages: {
3429
- role: "assistant" | "system" | "user";
3430
- content: ({
3431
- type: "text";
3432
- text: string;
3433
- } | {
3434
- type: "image_url";
3435
- image_url: {
3436
- url: string;
3437
- };
3438
- })[];
3439
- }[];
3440
- stream?: boolean | undefined;
3441
- temperature?: number | undefined;
3442
- max_tokens?: number | undefined;
3443
- top_p?: number | undefined;
3444
- logprobs?: boolean | undefined;
3445
- top_logsprobs?: number | undefined;
3446
- frequency_penalty?: number | undefined;
3447
- presence_penalty?: number | undefined;
3448
- stop?: string | string[] | undefined;
3449
- verbosity?: "high" | "low" | "max" | "medium" | undefined;
3450
- modalities?: string[] | undefined;
3451
- };
3452
- } | {
3453
- streamId: string;
3454
- chatId: string;
3455
- seq: number;
3456
- timestamp: Date;
3457
- type: "prompt.fs";
3458
- fileSystem: ({
3459
- filename: string;
3460
- entryPoint?: boolean | undefined;
3461
- mimetype?: string | undefined;
3462
- type: "code-block";
3463
- lang: string;
3464
- content: string;
3465
- } | {
3466
- filename: string;
3467
- entryPoint?: boolean | undefined;
3468
- mimetype?: string | undefined;
3469
- type: "code-ref";
3470
- refId: string;
3471
- } | {
3472
- filename: string;
3473
- entryPoint?: boolean | undefined;
3474
- mimetype?: string | undefined;
3475
- type: "str-asset-block";
3476
- content: string;
3477
- } | {
3478
- filename: string;
3479
- entryPoint?: boolean | undefined;
3480
- mimetype?: string | undefined;
3481
- type: "str-asset-ref";
3482
- refId: string;
3483
- } | {
3484
- filename: string;
3485
- entryPoint?: boolean | undefined;
3486
- mimetype?: string | undefined;
3487
- type: "uint8-asset-block";
3488
- content: {
3489
- [x: number]: number;
3490
- readonly BYTES_PER_ELEMENT: number;
3491
- readonly buffer: ArrayBuffer;
3492
- readonly byteLength: number;
3493
- readonly byteOffset: number;
3494
- copyWithin: (target: number, start: number, end?: number) => Uint8Array<ArrayBuffer>;
3495
- every: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any) => boolean;
3496
- fill: (value: number, start?: number, end?: number) => Uint8Array<ArrayBuffer>;
3497
- filter: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => any, thisArg?: any) => Uint8Array<ArrayBuffer>;
3498
- find: (predicate: (value: number, index: number, obj: Uint8Array<ArrayBuffer>) => boolean, thisArg?: any) => number | undefined;
3499
- findIndex: (predicate: (value: number, index: number, obj: Uint8Array<ArrayBuffer>) => boolean, thisArg?: any) => number;
3500
- forEach: (callbackfn: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => void, thisArg?: any) => void;
3501
- indexOf: (searchElement: number, fromIndex?: number) => number;
3502
- join: (separator?: string) => string;
3503
- lastIndexOf: (searchElement: number, fromIndex?: number) => number;
3504
- readonly length: number;
3505
- map: (callbackfn: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => number, thisArg?: any) => Uint8Array<ArrayBuffer>;
3506
- reduce: {
3507
- (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number): number;
3508
- (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number, initialValue: number): number;
3509
- <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => U, initialValue: U): U;
3510
- };
3511
- reduceRight: {
3512
- (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number): number;
3513
- (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => number, initialValue: number): number;
3514
- <U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array<ArrayBuffer>) => U, initialValue: U): U;
3515
- };
3516
- reverse: () => Uint8Array<ArrayBuffer>;
3517
- set: (array: ArrayLike<number>, offset?: number) => void;
3518
- slice: (start?: number, end?: number) => Uint8Array<ArrayBuffer>;
3519
- some: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any) => boolean;
3520
- sort: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array<ArrayBuffer>;
3521
- subarray: (begin?: number, end?: number) => Uint8Array<ArrayBuffer>;
3522
- toLocaleString: {
3523
- (): string;
3524
- (locales: string | string[], options?: Intl.NumberFormatOptions): string;
3525
- };
3526
- toString: () => string;
3527
- valueOf: () => Uint8Array<ArrayBuffer>;
3528
- [Symbol.iterator]: () => ArrayIterator<number>;
3529
- entries: () => ArrayIterator<[number, number]>;
3530
- keys: () => ArrayIterator<number>;
3531
- values: () => ArrayIterator<number>;
3532
- readonly [Symbol.toStringTag]: "Uint8Array";
3533
- includes: (searchElement: number, fromIndex?: number) => boolean;
3534
- at: (index: number) => number | undefined;
3535
- findLast: {
3536
- <S extends number>(predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => value is S, thisArg?: any): S | undefined;
3537
- (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any): number | undefined;
3538
- };
3539
- findLastIndex: (predicate: (value: number, index: number, array: Uint8Array<ArrayBuffer>) => unknown, thisArg?: any) => number;
3540
- toReversed: () => Uint8Array<ArrayBuffer>;
3541
- toSorted: (compareFn?: ((a: number, b: number) => number) | undefined) => Uint8Array<ArrayBuffer>;
3542
- with: (index: number, value: number) => Uint8Array<ArrayBuffer>;
3543
- };
3544
- } | {
3545
- filename: string;
3546
- entryPoint?: boolean | undefined;
3547
- mimetype?: string | undefined;
3548
- type: "uint8-asset-ref";
3549
- refId: string;
3550
- })[];
3551
- } | {
3552
- streamId: string;
3553
- chatId: string;
3554
- seq: number;
3555
- timestamp: Date;
3556
- type: "prompt.block-begin";
3557
- } | {
3558
- streamId: string;
3559
- chatId: string;
3560
- seq: number;
3561
- timestamp: Date;
3562
- type: "prompt.error";
3563
- error: string;
3564
- } | {
3565
- streamId: string;
3566
- chatId: string;
3567
- seq: number;
3568
- timestamp: Date;
3569
- type: "prompt.block-end";
3570
- } | {
3571
- streamId: string;
3572
- chatId: string;
3573
- seq: number;
3574
- timestamp: Date;
3575
- type: "prompt.model-resolved";
3576
- model: string;
3577
- } | {
3578
- streamId: string;
3579
- chatId: string;
3580
- seq: number;
3581
- timestamp: Date;
3582
- type: "prompt.raw";
3575
+ event: {
3576
+ wasClean: boolean;
3577
+ code: number;
3578
+ reason: string;
3579
+ };
3580
+ } | {
3581
+ type: "ErrorEvent";
3582
+ event: {
3583
+ message?: string | undefined;
3584
+ filename?: string | undefined;
3585
+ lineno?: number | undefined;
3586
+ colno?: number | undefined;
3587
+ error?: unknown;
3588
+ };
3589
+ }, import("@vibes.diy/api-types").MsgBase<{
3590
+ type: "vibes.diy.req-prompt-chat-section";
3591
+ mode: "chat" | "codegen";
3592
+ auth: {
3593
+ type: "clerk" | "device-id" | "ucan";
3594
+ token: string;
3595
+ };
3596
+ chatId: string;
3597
+ outerTid: string;
3598
+ prompt: {
3599
+ model?: string | undefined;
3600
+ messages: {
3601
+ role: "assistant" | "system" | "user";
3602
+ content: ({
3603
+ type: "text";
3583
3604
  text: string;
3584
3605
  } | {
3585
- streamId: string;
3586
- chatId: string;
3587
- seq: number;
3588
- timestamp: Date;
3589
- type: "prompt.dry-run-payload";
3590
- request: {
3591
- model?: string | undefined;
3592
- messages: {
3593
- role: "assistant" | "system" | "user";
3594
- content: ({
3595
- type: "text";
3596
- text: string;
3597
- } | {
3598
- type: "image_url";
3599
- image_url: {
3600
- url: string;
3601
- };
3602
- })[];
3603
- }[];
3604
- stream?: boolean | undefined;
3605
- temperature?: number | undefined;
3606
- max_tokens?: number | undefined;
3607
- top_p?: number | undefined;
3608
- logprobs?: boolean | undefined;
3609
- top_logsprobs?: number | undefined;
3610
- frequency_penalty?: number | undefined;
3611
- presence_penalty?: number | undefined;
3612
- stop?: string | string[] | undefined;
3613
- verbosity?: "high" | "low" | "max" | "medium" | undefined;
3614
- modalities?: string[] | undefined;
3615
- };
3616
- } | {
3617
- blockId: string;
3618
- streamId: string;
3619
- seq: number;
3620
- blockNr: number;
3621
- timestamp: Date;
3622
- type: "block.begin";
3623
- } | {
3624
- blockId: string;
3625
- streamId: string;
3626
- seq: number;
3627
- blockNr: number;
3628
- timestamp: Date;
3629
- type: "block.end";
3630
- stats: {
3631
- toplevel: {
3632
- lines: number;
3633
- bytes: number;
3634
- cnt?: number | undefined;
3635
- };
3636
- code: {
3637
- lines: number;
3638
- bytes: number;
3639
- cnt?: number | undefined;
3640
- };
3641
- image: {
3642
- lines: number;
3643
- bytes: number;
3644
- cnt?: number | undefined;
3645
- };
3646
- total: {
3647
- lines: number;
3648
- bytes: number;
3649
- cnt?: number | undefined;
3650
- };
3651
- };
3652
- usage: {
3653
- given: {
3654
- prompt_tokens: number;
3655
- completion_tokens: number;
3656
- total_tokens: number;
3657
- }[];
3658
- calculated: {
3659
- prompt_tokens: number;
3660
- completion_tokens: number;
3661
- total_tokens: number;
3662
- };
3663
- };
3664
- fsRef?: {
3665
- appSlug: string;
3666
- mode: "dev" | "production";
3667
- fsId: string;
3668
- ownerHandle: string;
3669
- } | undefined;
3670
- } | {
3671
- blockId: string;
3672
- streamId: string;
3673
- seq: number;
3674
- blockNr: number;
3675
- timestamp: Date;
3676
- type: "block.stats";
3677
- stats: {
3678
- toplevel: {
3679
- lines: number;
3680
- bytes: number;
3681
- cnt?: number | undefined;
3682
- };
3683
- code: {
3684
- lines: number;
3685
- bytes: number;
3686
- cnt?: number | undefined;
3687
- };
3688
- image: {
3689
- lines: number;
3690
- bytes: number;
3691
- cnt?: number | undefined;
3692
- };
3693
- total: {
3694
- lines: number;
3695
- bytes: number;
3696
- cnt?: number | undefined;
3697
- };
3698
- };
3699
- usage: {
3700
- prompt_tokens: number;
3701
- completion_tokens: number;
3702
- total_tokens: number;
3703
- };
3704
- } | {
3705
- blockId: string;
3706
- streamId: string;
3707
- seq: number;
3708
- blockNr: number;
3709
- timestamp: Date;
3710
- stats: {
3711
- lines: number;
3712
- bytes: number;
3713
- cnt?: number | undefined;
3606
+ type: "image_url";
3607
+ image_url: {
3608
+ url: string;
3714
3609
  };
3715
- type: "block.image";
3716
- sectionId: string;
3717
- url?: string | undefined;
3718
- uploadId?: string | undefined;
3719
- cid?: string | undefined;
3720
- mimeType?: string | undefined;
3721
- size?: number | undefined;
3722
- } | {
3723
- blockId: string;
3724
- streamId: string;
3725
- seq: number;
3726
- blockNr: number;
3727
- timestamp: Date;
3728
- type: "block.code.begin";
3729
- sectionId: string;
3730
- lang: string;
3731
- path?: string | undefined;
3732
- } | {
3733
- blockId: string;
3734
- streamId: string;
3735
- seq: number;
3736
- blockNr: number;
3737
- timestamp: Date;
3738
- lineNr: number;
3739
- line: string;
3740
- type: "block.code.line";
3741
- sectionId: string;
3742
- lang: string;
3743
- path?: string | undefined;
3610
+ })[];
3611
+ }[];
3612
+ stream?: boolean | undefined;
3613
+ temperature?: number | undefined;
3614
+ max_tokens?: number | undefined;
3615
+ top_p?: number | undefined;
3616
+ logprobs?: boolean | undefined;
3617
+ top_logsprobs?: number | undefined;
3618
+ frequency_penalty?: number | undefined;
3619
+ presence_penalty?: number | undefined;
3620
+ stop?: string | string[] | undefined;
3621
+ verbosity?: "high" | "low" | "max" | "medium" | undefined;
3622
+ modalities?: string[] | undefined;
3623
+ };
3624
+ dryRun?: boolean | undefined;
3625
+ dryRunPreAllocate?: boolean | undefined;
3626
+ ownerHandle?: string | undefined;
3627
+ appSlug?: string | undefined;
3628
+ selected?: {
3629
+ kind: "version";
3630
+ fsId: string;
3631
+ } | {
3632
+ kind: "draft";
3633
+ files: ({
3634
+ filename: string;
3635
+ entryPoint?: boolean | undefined;
3636
+ mimetype?: string | undefined;
3637
+ type: "code-block";
3638
+ lang: string;
3639
+ content: string;
3640
+ } | {
3641
+ filename: string;
3642
+ entryPoint?: boolean | undefined;
3643
+ mimetype?: string | undefined;
3644
+ type: "code-ref";
3645
+ refId: string;
3646
+ } | {
3647
+ filename: string;
3648
+ entryPoint?: boolean | undefined;
3649
+ mimetype?: string | undefined;
3650
+ type: "str-asset-block";
3651
+ content: string;
3652
+ } | {
3653
+ filename: string;
3654
+ entryPoint?: boolean | undefined;
3655
+ mimetype?: string | undefined;
3656
+ type: "str-asset-ref";
3657
+ refId: string;
3658
+ } | {
3659
+ filename: string;
3660
+ entryPoint?: boolean | undefined;
3661
+ mimetype?: string | undefined;
3662
+ type: "uint8-asset-block";
3663
+ content: Uint8Array<ArrayBuffer>;
3664
+ } | {
3665
+ filename: string;
3666
+ entryPoint?: boolean | undefined;
3667
+ mimetype?: string | undefined;
3668
+ type: "uint8-asset-ref";
3669
+ refId: string;
3670
+ })[];
3671
+ } | undefined;
3672
+ slots?: {
3673
+ original?: "off" | "on" | undefined;
3674
+ selected?: "off" | "on" | undefined;
3675
+ last_edit?: "off" | "on" | undefined;
3676
+ previous?: "off" | "on" | undefined;
3677
+ compaction?: "off" | "on" | undefined;
3678
+ } | undefined;
3679
+ focusPath?: string | undefined;
3680
+ } | {
3681
+ type: "vibes.diy.req-prompt-chat-section";
3682
+ mode: "app" | "runtime";
3683
+ auth: {
3684
+ type: "clerk" | "device-id" | "ucan";
3685
+ token: string;
3686
+ };
3687
+ chatId: string;
3688
+ outerTid: string;
3689
+ prompt: {
3690
+ model?: string | undefined;
3691
+ messages: {
3692
+ role: "assistant" | "system" | "user";
3693
+ content: ({
3694
+ type: "text";
3695
+ text: string;
3744
3696
  } | {
3745
- blockId: string;
3746
- streamId: string;
3747
- seq: number;
3748
- blockNr: number;
3749
- timestamp: Date;
3750
- stats: {
3751
- lines: number;
3752
- bytes: number;
3753
- cnt?: number | undefined;
3697
+ type: "image_url";
3698
+ image_url: {
3699
+ url: string;
3754
3700
  };
3755
- type: "block.code.end";
3756
- sectionId: string;
3757
- lang: string;
3758
- path?: string | undefined;
3759
- } | {
3760
- blockId: string;
3761
- streamId: string;
3762
- seq: number;
3763
- blockNr: number;
3764
- timestamp: Date;
3765
- type: "block.code.truncated";
3766
- sectionId: string;
3767
- lang: string;
3768
- path?: string | undefined;
3769
- reason: string;
3770
- kind: string;
3771
- truncatedAtLine: number;
3772
- errorCount: number;
3773
- } | {
3774
- blockId: string;
3775
- streamId: string;
3776
- seq: number;
3777
- blockNr: number;
3778
- timestamp: Date;
3779
- type: "block.toplevel.begin";
3780
- sectionId: string;
3781
- } | {
3782
- blockId: string;
3783
- streamId: string;
3784
- seq: number;
3785
- blockNr: number;
3786
- timestamp: Date;
3787
- lineNr: number;
3788
- line: string;
3789
- type: "block.toplevel.line";
3790
- sectionId: string;
3701
+ })[];
3702
+ }[];
3703
+ stream?: boolean | undefined;
3704
+ temperature?: number | undefined;
3705
+ max_tokens?: number | undefined;
3706
+ top_p?: number | undefined;
3707
+ logprobs?: boolean | undefined;
3708
+ top_logsprobs?: number | undefined;
3709
+ frequency_penalty?: number | undefined;
3710
+ presence_penalty?: number | undefined;
3711
+ stop?: string | string[] | undefined;
3712
+ verbosity?: "high" | "low" | "max" | "medium" | undefined;
3713
+ modalities?: string[] | undefined;
3714
+ };
3715
+ } | {
3716
+ type: "vibes.diy.req-prompt-chat-section";
3717
+ mode: "img";
3718
+ auth: {
3719
+ type: "clerk" | "device-id" | "ucan";
3720
+ token: string;
3721
+ };
3722
+ chatId: string;
3723
+ outerTid: string;
3724
+ prompt: {
3725
+ model?: string | undefined;
3726
+ messages: {
3727
+ role: "assistant" | "system" | "user";
3728
+ content: ({
3729
+ type: "text";
3730
+ text: string;
3791
3731
  } | {
3792
- blockId: string;
3793
- streamId: string;
3794
- seq: number;
3795
- blockNr: number;
3796
- timestamp: Date;
3797
- stats: {
3798
- lines: number;
3799
- bytes: number;
3800
- cnt?: number | undefined;
3732
+ type: "image_url";
3733
+ image_url: {
3734
+ url: string;
3801
3735
  };
3802
- type: "block.toplevel.end";
3803
- sectionId: string;
3804
3736
  })[];
3805
3737
  }[];
3806
- }[];
3807
- } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3808
- type: "MessageEvent";
3809
- event: {
3810
- data?: unknown;
3811
- origin?: string | null | undefined;
3812
- lastEventId?: string | undefined;
3813
- source?: unknown;
3814
- ports?: unknown;
3738
+ stream?: boolean | undefined;
3739
+ temperature?: number | undefined;
3740
+ max_tokens?: number | undefined;
3741
+ top_p?: number | undefined;
3742
+ logprobs?: boolean | undefined;
3743
+ top_logsprobs?: number | undefined;
3744
+ frequency_penalty?: number | undefined;
3745
+ presence_penalty?: number | undefined;
3746
+ stop?: string | string[] | undefined;
3747
+ verbosity?: "high" | "low" | "max" | "medium" | undefined;
3748
+ modalities?: string[] | undefined;
3815
3749
  };
3750
+ inputImageBase64?: string | undefined;
3816
3751
  } | {
3817
- type: "CloseEvent";
3818
- event: {
3819
- wasClean: boolean;
3820
- code: number;
3821
- reason: string;
3752
+ type: "vibes.diy.req-prompt-chat-section";
3753
+ mode: "fs-update";
3754
+ auth: {
3755
+ type: "clerk" | "device-id" | "ucan";
3756
+ token: string;
3822
3757
  };
3823
- } | {
3824
- type: "ErrorEvent";
3825
- event: {
3826
- message?: string | undefined;
3827
- filename?: string | undefined;
3828
- lineno?: number | undefined;
3829
- colno?: number | undefined;
3830
- error?: unknown;
3758
+ chatId: string;
3759
+ outerTid: string;
3760
+ refFsId?: string | undefined;
3761
+ fsUpdate: {
3762
+ update: ({
3763
+ filename: string;
3764
+ entryPoint?: boolean | undefined;
3765
+ mimetype?: string | undefined;
3766
+ type: "code-block";
3767
+ lang: string;
3768
+ content: string;
3769
+ } | {
3770
+ filename: string;
3771
+ entryPoint?: boolean | undefined;
3772
+ mimetype?: string | undefined;
3773
+ type: "code-ref";
3774
+ refId: string;
3775
+ } | {
3776
+ filename: string;
3777
+ entryPoint?: boolean | undefined;
3778
+ mimetype?: string | undefined;
3779
+ type: "str-asset-block";
3780
+ content: string;
3781
+ } | {
3782
+ filename: string;
3783
+ entryPoint?: boolean | undefined;
3784
+ mimetype?: string | undefined;
3785
+ type: "str-asset-ref";
3786
+ refId: string;
3787
+ } | {
3788
+ filename: string;
3789
+ entryPoint?: boolean | undefined;
3790
+ mimetype?: string | undefined;
3791
+ type: "uint8-asset-block";
3792
+ content: Uint8Array<ArrayBuffer>;
3793
+ } | {
3794
+ filename: string;
3795
+ entryPoint?: boolean | undefined;
3796
+ mimetype?: string | undefined;
3797
+ type: "uint8-asset-ref";
3798
+ refId: string;
3799
+ })[];
3800
+ remove: {
3801
+ filename: string;
3802
+ }[];
3831
3803
  };
3832
- }, import("@vibes.diy/api-types").MsgBase<{
3833
- type: "vibes.diy.req-list-application-chats";
3804
+ } | {
3805
+ type: "vibes.diy.req-prompt-chat-section";
3806
+ mode: "fs-set";
3834
3807
  auth: {
3835
3808
  type: "clerk" | "device-id" | "ucan";
3836
3809
  token: string;
3837
3810
  };
3838
- appSlug?: string | undefined;
3839
- ownerHandle?: string | undefined;
3840
- limit?: number | undefined;
3841
- cursor?: string | undefined;
3842
- }>, {
3843
- type: "vibes.diy.res-list-application-chats";
3844
- items: {
3845
- chatId: string;
3846
- appSlug: string;
3847
- ownerHandle: string;
3848
- created: string;
3849
- }[];
3850
- nextCursor?: string | undefined;
3851
- } | import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3811
+ chatId: string;
3812
+ outerTid: string;
3813
+ fsSet: ({
3814
+ filename: string;
3815
+ entryPoint?: boolean | undefined;
3816
+ mimetype?: string | undefined;
3817
+ type: "code-block";
3818
+ lang: string;
3819
+ content: string;
3820
+ } | {
3821
+ filename: string;
3822
+ entryPoint?: boolean | undefined;
3823
+ mimetype?: string | undefined;
3824
+ type: "code-ref";
3825
+ refId: string;
3826
+ } | {
3827
+ filename: string;
3828
+ entryPoint?: boolean | undefined;
3829
+ mimetype?: string | undefined;
3830
+ type: "str-asset-block";
3831
+ content: string;
3832
+ } | {
3833
+ filename: string;
3834
+ entryPoint?: boolean | undefined;
3835
+ mimetype?: string | undefined;
3836
+ type: "str-asset-ref";
3837
+ refId: string;
3838
+ } | {
3839
+ filename: string;
3840
+ entryPoint?: boolean | undefined;
3841
+ mimetype?: string | undefined;
3842
+ type: "uint8-asset-block";
3843
+ content: Uint8Array<ArrayBuffer>;
3844
+ } | {
3845
+ filename: string;
3846
+ entryPoint?: boolean | undefined;
3847
+ mimetype?: string | undefined;
3848
+ type: "uint8-asset-ref";
3849
+ refId: string;
3850
+ })[];
3851
+ }>, import("@vibes.diy/api-types").VibesDiyError>, import("@adviser/cement").EventoHandler<{
3852
3852
  type: "MessageEvent";
3853
3853
  event: {
3854
3854
  data?: unknown;