@vibes.diy/use-vibes-base 0.19.6-dev → 0.19.14-dev-cli

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.
Files changed (90) hide show
  1. package/README.md +27 -27
  2. package/components/ControlsBar.d.ts +2 -2
  3. package/components/ControlsBar.js +35 -39
  4. package/components/ControlsBar.js.map +1 -1
  5. package/components/ImgGen.d.ts +5 -5
  6. package/components/ImgGen.js +40 -43
  7. package/components/ImgGen.js.map +1 -1
  8. package/components/ImgGenUtils/AsyncImg.d.ts +2 -2
  9. package/components/ImgGenUtils/AsyncImg.js +5 -5
  10. package/components/ImgGenUtils/ImgGenDisplay.d.ts +2 -2
  11. package/components/ImgGenUtils/ImgGenDisplay.js +57 -67
  12. package/components/ImgGenUtils/ImgGenDisplay.js.map +1 -1
  13. package/components/ImgGenUtils/ImgGenDisplayPlaceholder.d.ts +2 -2
  14. package/components/ImgGenUtils/ImgGenDisplayPlaceholder.js +28 -29
  15. package/components/ImgGenUtils/ImgGenDisplayPlaceholder.js.map +1 -1
  16. package/components/ImgGenUtils/ImgGenDisplayUtils.d.ts +1 -1
  17. package/components/ImgGenUtils/ImgGenDisplayUtils.js +13 -18
  18. package/components/ImgGenUtils/ImgGenDisplayUtils.js.map +1 -1
  19. package/components/ImgGenUtils/ImgGenError.d.ts +2 -2
  20. package/components/ImgGenUtils/ImgGenError.js +6 -6
  21. package/components/ImgGenUtils/ImgGenError.js.map +1 -1
  22. package/components/ImgGenUtils/ImgGenFileDrop.d.ts +1 -1
  23. package/components/ImgGenUtils/ImgGenFileDrop.js +7 -7
  24. package/components/ImgGenUtils/ImgGenFileDrop.js.map +1 -1
  25. package/components/ImgGenUtils/ImgGenModal.d.ts +3 -3
  26. package/components/ImgGenUtils/ImgGenModal.js +35 -35
  27. package/components/ImgGenUtils/ImgGenModeUtils.d.ts +2 -2
  28. package/components/ImgGenUtils/ImgGenModeUtils.js +17 -17
  29. package/components/ImgGenUtils/ImgGenModeUtils.js.map +1 -1
  30. package/components/ImgGenUtils/ImgGenPromptWaiting.d.ts +2 -2
  31. package/components/ImgGenUtils/ImgGenPromptWaiting.js +13 -13
  32. package/components/ImgGenUtils/ImgGenPromptWaiting.js.map +1 -1
  33. package/components/ImgGenUtils/ImgGenUploadWaiting.d.ts +4 -4
  34. package/components/ImgGenUtils/ImgGenUploadWaiting.js +26 -26
  35. package/components/ImgGenUtils/ImgGenUploadWaiting.js.map +1 -1
  36. package/components/ImgGenUtils/index.d.ts +6 -6
  37. package/components/ImgGenUtils/index.js +6 -6
  38. package/components/ImgGenUtils/overlays/DeleteConfirmationOverlay.d.ts +2 -2
  39. package/components/ImgGenUtils/overlays/DeleteConfirmationOverlay.js +18 -18
  40. package/components/ImgGenUtils/overlays/ImageOverlay.d.ts +2 -2
  41. package/components/ImgGenUtils/overlays/ImageOverlay.js +6 -6
  42. package/components/ImgGenUtils/types.d.ts +2 -2
  43. package/components/ImgGenUtils.d.ts +2 -2
  44. package/components/ImgGenUtils.js +2 -2
  45. package/components/ImgGenUtils.js.map +1 -1
  46. package/components/PromptBar.d.ts +2 -2
  47. package/components/PromptBar.js +5 -5
  48. package/constants.js +1 -1
  49. package/contexts/VibeContext.d.ts +23 -11
  50. package/contexts/VibeContext.js +113 -48
  51. package/contexts/VibeContext.js.map +1 -1
  52. package/hooks/image-gen/image-generator.d.ts +2 -2
  53. package/hooks/image-gen/image-generator.js +12 -12
  54. package/hooks/image-gen/image-generator.js.map +1 -1
  55. package/hooks/image-gen/index.d.ts +4 -4
  56. package/hooks/image-gen/index.js +3 -3
  57. package/hooks/image-gen/index.js.map +1 -1
  58. package/hooks/image-gen/use-image-gen.d.ts +1 -1
  59. package/hooks/image-gen/use-image-gen.js +41 -48
  60. package/hooks/image-gen/use-image-gen.js.map +1 -1
  61. package/hooks/image-gen/utils.d.ts +2 -2
  62. package/hooks/image-gen/utils.js +14 -14
  63. package/hooks/image-gen/utils.js.map +1 -1
  64. package/hooks/useMobile.js +7 -7
  65. package/hooks/useThemeDetection.js +5 -5
  66. package/hooks/vibes-gen/IframeVibesComponent.d.ts +1 -1
  67. package/hooks/vibes-gen/IframeVibesComponent.js +15 -19
  68. package/hooks/vibes-gen/IframeVibesComponent.js.map +1 -1
  69. package/hooks/vibes-gen/index.d.ts +2 -2
  70. package/hooks/vibes-gen/index.js +1 -1
  71. package/hooks/vibes-gen/use-vibes.d.ts +2 -2
  72. package/hooks/vibes-gen/use-vibes.js +21 -17
  73. package/hooks/vibes-gen/use-vibes.js.map +1 -1
  74. package/index.d.ts +76 -51
  75. package/index.js +137 -184
  76. package/index.js.map +1 -1
  77. package/package.json +18 -22
  78. package/utils/appSlug.js +16 -16
  79. package/utils/base64.js +2 -4
  80. package/utils/base64.js.map +1 -1
  81. package/utils/databaseName.d.ts +2 -0
  82. package/utils/databaseName.js +4 -0
  83. package/utils/databaseName.js.map +1 -0
  84. package/utils/debug.js +1 -1
  85. package/utils/style-utils.d.ts +1 -1
  86. package/utils/style-utils.js +3 -3
  87. package/utils/styles.d.ts +2 -2
  88. package/utils/styles.js +170 -170
  89. package/utils/vibe-control-styles.d.ts +1 -1
  90. package/utils/vibe-control-styles.js +75 -75
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import { combineClasses, defaultClasses } from '../../../utils/style-utils.js';
1
+ import * as React from "react";
2
+ import { combineClasses, defaultClasses } from "../../../utils/style-utils.js";
3
3
  export function DeleteConfirmationOverlay({ handleDeleteConfirm, handleCancelDelete, classes = defaultClasses, }) {
4
4
  React.useEffect(() => {
5
5
  const timeoutId = setTimeout(() => {
@@ -7,25 +7,25 @@ export function DeleteConfirmationOverlay({ handleDeleteConfirm, handleCancelDel
7
7
  }, 3000);
8
8
  return () => clearTimeout(timeoutId);
9
9
  }, [handleCancelDelete]);
10
- return (React.createElement("div", { className: combineClasses('imggen-delete-message', classes.overlay), style: {
11
- display: 'flex',
12
- alignItems: 'center',
13
- justifyContent: 'center',
14
- backgroundColor: 'rgba(255, 0, 0, 0.1)',
15
- borderRadius: 'var(--imggen-border-radius)',
16
- padding: '10px 15px',
17
- marginBottom: '8px',
18
- textAlign: 'center',
19
- width: 'auto',
20
- boxSizing: 'border-box',
21
- border: '1px solid var(--imggen-error-border)',
22
- cursor: 'pointer',
10
+ return (React.createElement("div", { className: combineClasses("imggen-delete-message", classes.overlay), style: {
11
+ display: "flex",
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ backgroundColor: "rgba(255, 0, 0, 0.1)",
15
+ borderRadius: "var(--imggen-border-radius)",
16
+ padding: "10px 15px",
17
+ marginBottom: "8px",
18
+ textAlign: "center",
19
+ width: "auto",
20
+ boxSizing: "border-box",
21
+ border: "1px solid var(--imggen-error-border)",
22
+ cursor: "pointer",
23
23
  }, onClick: handleDeleteConfirm, "aria-label": "Confirm delete" },
24
24
  React.createElement("p", { style: {
25
- color: '#ff3333',
26
- fontSize: '14px',
25
+ color: "#ff3333",
26
+ fontSize: "14px",
27
27
  margin: 0,
28
- fontWeight: 'bold',
28
+ fontWeight: "bold",
29
29
  } }, "Confirm delete? This action cannot be undone.")));
30
30
  }
31
31
  //# sourceMappingURL=DeleteConfirmationOverlay.js.map
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import { ImgGenClasses } from '../../../utils/style-utils.js';
1
+ import * as React from "react";
2
+ import { ImgGenClasses } from "../../../utils/style-utils.js";
3
3
  interface ImageOverlayProps {
4
4
  readonly promptText: string;
5
5
  readonly editedPrompt: string | null;
@@ -1,10 +1,10 @@
1
- import * as React from 'react';
2
- import { combineClasses, defaultClasses } from '../../../utils/style-utils.js';
3
- import { imgGenStyles } from '../../../utils/styles.js';
4
- import { PromptBar } from '../../../components/PromptBar.js';
5
- import { ControlsBar } from '../../../components/ControlsBar.js';
1
+ import * as React from "react";
2
+ import { combineClasses, defaultClasses } from "../../../utils/style-utils.js";
3
+ import { imgGenStyles } from "../../../utils/styles.js";
4
+ import { PromptBar } from "../../../components/PromptBar.js";
5
+ import { ControlsBar } from "../../../components/ControlsBar.js";
6
6
  export function ImageOverlay({ promptText, editedPrompt, setEditedPrompt, handlePromptEdit, handleDeleteConfirm, handlePrevVersion, handleNextVersion, handleRegen, versionIndex, totalVersions, classes = defaultClasses, showControls = true, progress = 100, showDelete = true, versionFlash = false, isRegenerating = false, }) {
7
- return (React.createElement("div", { className: combineClasses('imggen-overlay', classes.overlay), style: imgGenStyles.overlay }, React.createElement(React.Fragment, null,
7
+ return (React.createElement("div", { className: combineClasses("imggen-overlay", classes.overlay), style: imgGenStyles.overlay }, React.createElement(React.Fragment, null,
8
8
  React.createElement(PromptBar, { promptText: promptText, editedPrompt: editedPrompt, setEditedPrompt: setEditedPrompt, handlePromptEdit: handlePromptEdit, classes: classes }),
9
9
  React.createElement(ControlsBar, { handleDeleteConfirm: handleDeleteConfirm, handlePrevVersion: handlePrevVersion, handleNextVersion: handleNextVersion, handleRegen: handleRegen, versionIndex: versionIndex, totalVersions: totalVersions, classes: classes, showControls: showControls, showDelete: showDelete, editedPrompt: editedPrompt, promptText: promptText, progress: progress, versionFlash: versionFlash, isRegenerating: isRegenerating }))));
10
10
  }
@@ -1,5 +1,5 @@
1
- import type { PartialImageDocument } from '@vibes.diy/use-vibes-types';
2
- import { ImgGenClasses } from '../../utils/style-utils.js';
1
+ import type { PartialImageDocument } from "@vibes.diy/use-vibes-types";
2
+ import { ImgGenClasses } from "../../utils/style-utils.js";
3
3
  export interface ImgGenPlaceholderProps {
4
4
  readonly className?: string;
5
5
  readonly alt?: string;
@@ -1,2 +1,2 @@
1
- export { ImgGenPromptWaiting, ImgGenError, ImgGenDisplayPlaceholder, ImgGenDisplay, } from './ImgGenUtils/index.js';
2
- export * from './ImgGenUtils/types.js';
1
+ export { ImgGenPromptWaiting, ImgGenError, ImgGenDisplayPlaceholder, ImgGenDisplay } from "./ImgGenUtils/index.js";
2
+ export * from "./ImgGenUtils/types.js";
@@ -1,3 +1,3 @@
1
- export { ImgGenPromptWaiting, ImgGenError, ImgGenDisplayPlaceholder, ImgGenDisplay, } from './ImgGenUtils/index.js';
2
- export * from './ImgGenUtils/types.js';
1
+ export { ImgGenPromptWaiting, ImgGenError, ImgGenDisplayPlaceholder, ImgGenDisplay } from "./ImgGenUtils/index.js";
2
+ export * from "./ImgGenUtils/types.js";
3
3
  //# sourceMappingURL=ImgGenUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImgGenUtils.js","sourceRoot":"","sources":["../../jsr/components/ImgGenUtils.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"ImgGenUtils.js","sourceRoot":"","sources":["../../jsr/components/ImgGenUtils.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnH,cAAc,wBAAwB,CAAC"}
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import { ImgGenClasses } from '../utils/style-utils.js';
1
+ import * as React from "react";
2
+ import { ImgGenClasses } from "../utils/style-utils.js";
3
3
  interface PromptBarProps {
4
4
  readonly promptText: string;
5
5
  readonly editedPrompt: string | null;
@@ -1,14 +1,14 @@
1
- import * as React from 'react';
2
- import { combineClasses, defaultClasses } from '../utils/style-utils.js';
3
- import { imgGenStyles } from '../utils/styles.js';
1
+ import * as React from "react";
2
+ import { combineClasses, defaultClasses } from "../utils/style-utils.js";
3
+ import { imgGenStyles } from "../utils/styles.js";
4
4
  export function PromptBar({ promptText, editedPrompt, setEditedPrompt, handlePromptEdit, classes = defaultClasses, }) {
5
5
  return (React.createElement("div", { style: imgGenStyles.topLine },
6
6
  React.createElement("div", { className: combineClasses(classes.prompt), style: imgGenStyles.prompt }, editedPrompt !== null ? (React.createElement("input", { type: "text", value: editedPrompt, onChange: (e) => setEditedPrompt(e.target.value), onKeyDown: (e) => {
7
- if (e.key === 'Enter') {
7
+ if (e.key === "Enter") {
8
8
  e.preventDefault();
9
9
  handlePromptEdit(editedPrompt);
10
10
  }
11
- else if (e.key === 'Escape') {
11
+ else if (e.key === "Escape") {
12
12
  setEditedPrompt(null);
13
13
  }
14
14
  }, autoFocus: true, style: {
package/constants.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VIBES_SYNC_ENABLED_CLASS = 'vibes-connect-true';
1
+ export const VIBES_SYNC_ENABLED_CLASS = "vibes-connect-true";
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,5 +1,10 @@
1
- import React, { type ReactNode } from 'react';
2
- import { z } from 'zod';
1
+ import React, { type ReactNode } from "react";
2
+ import { VibesDiyMountParams } from "../index.js";
3
+ import { DashboardApiImpl } from "@fireproof/core-protocols-dashboard";
4
+ import { useClerk } from "@clerk/clerk-react";
5
+ import { TokenStrategie } from "@fireproof/core-types-protocols-cloud";
6
+ import { Database } from "@fireproof/use-fireproof";
7
+ import { ReturnOnFunc } from "@adviser/cement";
3
8
  export declare const VIBE_METADATA_ERROR_CODES: {
4
9
  readonly TITLEID_EMPTY: "TITLEID_EMPTY";
5
10
  readonly INSTALLID_EMPTY: "INSTALLID_EMPTY";
@@ -10,16 +15,23 @@ export declare class VibeMetadataValidationError extends Error {
10
15
  readonly code: string;
11
16
  constructor(message: string, code: string);
12
17
  }
13
- declare const VibeMetadataSchema: z.ZodObject<{
14
- titleId: z.ZodString;
15
- installId: z.ZodString;
16
- }, z.core.$strip>;
17
- export type VibeMetadata = z.infer<typeof VibeMetadataSchema>;
18
- export declare function validateVibeMetadata(metadata: unknown): asserts metadata is VibeMetadata;
18
+ export interface Vibe extends VibesDiyMountParams {
19
+ readonly dashApi: DashboardApiImpl<unknown>;
20
+ readonly clerk: ReturnType<typeof useClerk>;
21
+ sessionReady(): boolean;
22
+ fpCloudStrategie(): TokenStrategie;
23
+ onDatabaseOpen: ReturnOnFunc<[_db: Database], unknown>;
24
+ }
19
25
  export interface VibeContextProviderProps {
20
- readonly metadata: VibeMetadata;
26
+ readonly mountParams: VibesDiyMountParams;
21
27
  readonly children: ReactNode;
22
28
  }
23
- export declare function VibeContextProvider({ metadata, children }: VibeContextProviderProps): React.JSX.Element;
24
- export declare function useVibeContext(): VibeMetadata | undefined;
29
+ export declare function VibeContextProvider({ mountParams, children }: VibeContextProviderProps): React.JSX.Element;
30
+ export declare function useVibeContext(): Vibe;
31
+ declare const VibeMetadataSchema: import("arktype/internal/variants/object.ts").ObjectType<{
32
+ titleId: string;
33
+ installId: string;
34
+ }, {}>;
35
+ export type VibeMetadata = typeof VibeMetadataSchema.infer;
36
+ export declare function validateVibeMetadata(metadata: unknown): asserts metadata is VibeMetadata;
25
37
  export {};
@@ -1,65 +1,130 @@
1
- import React, { createContext, useContext } from 'react';
2
- import { z } from 'zod';
1
+ import React, { createContext, useContext } from "react";
2
+ import { type } from "arktype";
3
+ import { injectDefaultVibesCtx } from "../index.js";
4
+ import { clerkDashApi } from "@fireproof/core-protocols-dashboard";
5
+ import { ClerkProvider, useClerk } from "@clerk/clerk-react";
6
+ import { Lazy, OnFunc } from "@adviser/cement";
3
7
  export const VIBE_METADATA_ERROR_CODES = {
4
- TITLEID_EMPTY: 'TITLEID_EMPTY',
5
- INSTALLID_EMPTY: 'INSTALLID_EMPTY',
6
- TITLEID_INVALID_CHARS: 'TITLEID_INVALID_CHARS',
7
- INSTALLID_INVALID_CHARS: 'INSTALLID_INVALID_CHARS',
8
+ TITLEID_EMPTY: "TITLEID_EMPTY",
9
+ INSTALLID_EMPTY: "INSTALLID_EMPTY",
10
+ TITLEID_INVALID_CHARS: "TITLEID_INVALID_CHARS",
11
+ INSTALLID_INVALID_CHARS: "INSTALLID_INVALID_CHARS",
8
12
  };
9
13
  export class VibeMetadataValidationError extends Error {
10
14
  code;
11
15
  constructor(message, code) {
12
16
  super(message);
13
- this.name = 'VibeMetadataValidationError';
17
+ this.name = "VibeMetadataValidationError";
14
18
  this.code = code;
15
19
  }
16
20
  }
17
- const VibeMetadataSchema = z.object({
18
- titleId: z
19
- .string()
20
- .trim()
21
- .min(1, 'VibeMetadata.titleId must be a non-empty string')
22
- .regex(/^[a-z0-9-]+$/i, 'VibeMetadata.titleId must contain only alphanumeric characters and hyphens'),
23
- installId: z
24
- .string()
25
- .trim()
26
- .min(1, 'VibeMetadata.installId must be a non-empty string')
27
- .regex(/^[a-z0-9-]+$/i, 'VibeMetadata.installId must contain only alphanumeric characters and hyphens'),
28
- });
29
- export function validateVibeMetadata(metadata) {
30
- try {
31
- VibeMetadataSchema.parse(metadata);
32
- }
33
- catch (error) {
34
- if (error instanceof z.ZodError) {
35
- const firstIssue = error.issues[0];
36
- let code;
37
- const message = firstIssue.message;
38
- if (firstIssue.path[0] === 'titleId') {
39
- code =
40
- firstIssue.code === 'too_small'
41
- ? VIBE_METADATA_ERROR_CODES.TITLEID_EMPTY
42
- : VIBE_METADATA_ERROR_CODES.TITLEID_INVALID_CHARS;
43
- }
44
- else if (firstIssue.path[0] === 'installId') {
45
- code =
46
- firstIssue.code === 'too_small'
47
- ? VIBE_METADATA_ERROR_CODES.INSTALLID_EMPTY
48
- : VIBE_METADATA_ERROR_CODES.INSTALLID_INVALID_CHARS;
49
- }
50
- else {
51
- code = 'UNKNOWN_ERROR';
52
- }
53
- throw new VibeMetadataValidationError(message, code);
21
+ class DefVibe {
22
+ get bindings() {
23
+ throw new Error(`Vibe Provider is not Ready: bindings`);
24
+ }
25
+ #notReady(action) {
26
+ throw new Error(`Vibe Provider is not Ready: ${action}`);
27
+ }
28
+ fpCloudStrategie() {
29
+ return this.#notReady("fpCloudStrategie");
30
+ }
31
+ onDatabaseOpen = ((_fn) => {
32
+ return this.#notReady("onDatabaseOpen");
33
+ });
34
+ sessionReady() {
35
+ return this.#notReady("sessionReady");
36
+ }
37
+ get clerk() {
38
+ return this.#notReady("clerk");
39
+ }
40
+ get dashApi() {
41
+ return this.#notReady("dashApi");
42
+ }
43
+ get appSlug() {
44
+ return this.#notReady("appSlug");
45
+ }
46
+ get titleId() {
47
+ return this.#notReady("titleId");
48
+ }
49
+ get installId() {
50
+ return this.#notReady("installId");
51
+ }
52
+ get env() {
53
+ return this.#notReady("env");
54
+ }
55
+ }
56
+ const VibeContext = createContext(new DefVibe());
57
+ class UseVibesStrategie {
58
+ ctx;
59
+ constructor(ctx) {
60
+ this.ctx = ctx;
61
+ }
62
+ hash() {
63
+ return this.ctx.env.DASHBOARD_URL;
64
+ }
65
+ open() {
66
+ }
67
+ tryToken() {
68
+ return Promise.resolve(undefined);
69
+ }
70
+ async waitForToken(sthis, logger, deviceId, opts) {
71
+ const rRes = await this.ctx.dashApi.ensureCloudToken({
72
+ appId: opts.context.get("UseVibes.AppId") || deviceId,
73
+ });
74
+ if (rRes.isErr()) {
75
+ logger.Error().Err(rRes).Msg();
76
+ return undefined;
54
77
  }
55
- throw error;
78
+ const res = rRes.Ok();
79
+ return {
80
+ token: res.cloudToken,
81
+ ...res,
82
+ };
83
+ }
84
+ stop() {
85
+ throw new Error("Method not implemented.");
56
86
  }
57
87
  }
58
- const VibeContext = createContext(undefined);
59
- export function VibeContextProvider({ metadata, children }) {
60
- return React.createElement(VibeContext.Provider, { value: metadata }, children);
88
+ const lazyFpCloudStrategie = Lazy((ctx) => new UseVibesStrategie(ctx));
89
+ function LiveCycleVibeContextProvider({ mountParams, children }) {
90
+ console.log("LiveCycleVibeContextProvider", mountParams);
91
+ const clerk = useClerk();
92
+ const dashApi = clerkDashApi(clerk, {
93
+ apiUrl: mountParams.env.DASHBOARD_URL,
94
+ });
95
+ const fpCloudStrategie = lazyFpCloudStrategie({
96
+ ...mountParams,
97
+ dashApi,
98
+ });
99
+ const onDatabaseOpen = OnFunc();
100
+ const ctx = {
101
+ dashApi,
102
+ clerk,
103
+ fpCloudStrategie: () => fpCloudStrategie,
104
+ onDatabaseOpen,
105
+ sessionReady: () => {
106
+ return clerk.session?.status === "active";
107
+ },
108
+ ...mountParams,
109
+ };
110
+ injectDefaultVibesCtx(ctx);
111
+ return React.createElement(VibeContext.Provider, { value: ctx }, children);
112
+ }
113
+ export function VibeContextProvider({ mountParams, children }) {
114
+ return (React.createElement(ClerkProvider, { publishableKey: mountParams.env.CLERK_PUBLISHABLE_KEY },
115
+ React.createElement(LiveCycleVibeContextProvider, { mountParams: mountParams }, children)));
61
116
  }
62
117
  export function useVibeContext() {
63
118
  return useContext(VibeContext);
64
119
  }
120
+ const VibeMetadataSchema = type({
121
+ titleId: /^[a-z0-9-]+$/i,
122
+ installId: /^[a-z0-9-]+$/i,
123
+ });
124
+ export function validateVibeMetadata(metadata) {
125
+ const result = VibeMetadataSchema(metadata);
126
+ if (result instanceof type.errors) {
127
+ throw new VibeMetadataValidationError(result.toLocaleString(), VIBE_METADATA_ERROR_CODES.TITLEID_EMPTY);
128
+ }
129
+ }
65
130
  //# sourceMappingURL=VibeContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VibeContext.js","sourceRoot":"","sources":["../../jsr/contexts/VibeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;CAC1C,CAAC;AAMX,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,IAAY,EAAE;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAAA,CAClB;CACF;AAOD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,iDAAiD,CAAC;SACzD,KAAK,CACJ,eAAe,EACf,4EAA4E,CAC7E;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,mDAAmD,CAAC;SAC3D,KAAK,CACJ,eAAe,EACf,8EAA8E,CAC/E;CACJ,CAAC,CAAC;AAcH,MAAM,UAAU,oBAAoB,CAAC,QAAiB,EAAoC;IACxF,IAAI,CAAC;QACH,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,IAAY,CAAC;YACjB,MAAM,OAAO,GAAW,UAAU,CAAC,OAAO,CAAC;YAE3C,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI;oBACF,UAAU,CAAC,IAAI,KAAK,WAAW;wBAC7B,CAAC,CAAC,yBAAyB,CAAC,aAAa;wBACzC,CAAC,CAAC,yBAAyB,CAAC,qBAAqB,CAAC;YACxD,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC9C,IAAI;oBACF,UAAU,CAAC,IAAI,KAAK,WAAW;wBAC7B,CAAC,CAAC,yBAAyB,CAAC,eAAe;wBAC3C,CAAC,CAAC,yBAAyB,CAAC,uBAAuB,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,eAAe,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AAAA,CACF;AAED,MAAM,WAAW,GAAG,aAAa,CAA2B,SAAS,CAAC,CAAC;AAOvE,MAAM,UAAU,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAA4B,EAAE;IACpF,OAAO,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,IAAG,QAAQ,CAAwB,CAAC;AAAA,CACjF;AAED,MAAM,UAAU,cAAc,GAA6B;IACzD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AAAA,CAChC"}
1
+ {"version":3,"file":"VibeContext.js","sourceRoot":"","sources":["../../jsr/contexts/VibeContext.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ImageGenOptions as BaseImageGenOptions, ImageResponse } from 'call-ai';
2
- import type { ImageDocument } from '@vibes.diy/use-vibes-types';
1
+ import { ImageGenOptions as BaseImageGenOptions, ImageResponse } from "call-ai";
2
+ import type { ImageDocument } from "@vibes.diy/use-vibes-types";
3
3
  interface ImageGenOptions extends BaseImageGenOptions {
4
4
  readonly _regenerationId: number;
5
5
  readonly images: File[];
@@ -1,5 +1,5 @@
1
- import { imageGen as originalImageGen, } from 'call-ai';
2
- import { MODULE_STATE, getRelevantOptions } from './utils.js';
1
+ import { imageGen as originalImageGen } from "call-ai";
2
+ import { MODULE_STATE, getRelevantOptions } from "./utils.js";
3
3
  export async function imageGen(prompt, options) {
4
4
  const relevantOptions = getRelevantOptions(options);
5
5
  const stableKey = options?._regenerationId
@@ -18,7 +18,7 @@ export async function imageGen(prompt, options) {
18
18
  console.log(`[ImgGen Debug] Generating image with prompt: "${prompt}"`, {
19
19
  requestId,
20
20
  options,
21
- hasImages: options.images ? options.images.length + ' files' : 'No',
21
+ hasImages: options.images ? options.images.length + " files" : "No",
22
22
  stableKey,
23
23
  });
24
24
  }
@@ -28,13 +28,13 @@ export async function imageGen(prompt, options) {
28
28
  if (!enhancedOptions.images && enhancedOptions.document && enhancedOptions.document._files) {
29
29
  const imageFiles = [];
30
30
  for (const key of Object.keys(enhancedOptions.document._files)) {
31
- if (key.startsWith('in') || key === 'original') {
31
+ if (key.startsWith("in") || key === "original") {
32
32
  const file = enhancedOptions.document._files[key];
33
33
  if (file) {
34
34
  if (file instanceof File) {
35
35
  imageFiles.push(file);
36
36
  }
37
- else if (typeof file.file === 'function') {
37
+ else if (typeof file.file === "function") {
38
38
  try {
39
39
  const fileObj = await file.file();
40
40
  imageFiles.push(fileObj);
@@ -51,9 +51,9 @@ export async function imageGen(prompt, options) {
51
51
  if (imageFiles.length > 0) {
52
52
  enhancedOptions.images = imageFiles;
53
53
  if (enhancedOptions.debug) {
54
- console.log('[ImgGen Debug] Extracted images from document:', {
54
+ console.log("[ImgGen Debug] Extracted images from document:", {
55
55
  count: imageFiles.length,
56
- keys: Object.keys(enhancedOptions.document._files).filter((k) => k.startsWith('in') || k === 'original'),
56
+ keys: Object.keys(enhancedOptions.document._files).filter((k) => k.startsWith("in") || k === "original"),
57
57
  });
58
58
  }
59
59
  }
@@ -85,18 +85,18 @@ export function createImageGenerator(requestHash) {
85
85
  return async (promptText, genOptions) => {
86
86
  JSON.stringify(getRelevantOptions(genOptions));
87
87
  const debug = genOptions?.debug;
88
- if (genOptions && 'document' in genOptions && genOptions.document) {
88
+ if (genOptions && "document" in genOptions && genOptions.document) {
89
89
  const document = genOptions.document;
90
90
  const imageFiles = [];
91
91
  if (document._files) {
92
92
  for (const key of Object.keys(document._files)) {
93
- if (key.startsWith('in')) {
93
+ if (key.startsWith("in")) {
94
94
  const file = document._files[key];
95
95
  if (file) {
96
96
  if (file instanceof File) {
97
97
  imageFiles.push(file);
98
98
  }
99
- else if (typeof file.file === 'function') {
99
+ else if (typeof file.file === "function") {
100
100
  try {
101
101
  const fileObj = await file.file();
102
102
  imageFiles.push(fileObj);
@@ -113,7 +113,7 @@ export function createImageGenerator(requestHash) {
113
113
  }
114
114
  if (imageFiles.length > 0) {
115
115
  if (debug) {
116
- console.log('[imageGenerator] Found images to include:', {
116
+ console.log("[imageGenerator] Found images to include:", {
117
117
  count: imageFiles.length,
118
118
  fileTypes: imageFiles.map((f) => f.type),
119
119
  });
@@ -128,7 +128,7 @@ export function createImageGenerator(requestHash) {
128
128
  if (debug) {
129
129
  console.log(`[imageGenerator] Generating image with prompt: "${promptText.slice(0, 30)}...", options:`, {
130
130
  ...genOptions,
131
- hasImages: genOptions?.images ? 'Yes' : 'No',
131
+ hasImages: genOptions?.images ? "Yes" : "No",
132
132
  imageCount: genOptions?.images ? genOptions.images.length : 0,
133
133
  });
134
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"image-generator.js","sourceRoot":"","sources":["../../../jsr/hooks/image-gen/image-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-generator.js","sourceRoot":"","sources":["../../../jsr/hooks/image-gen/image-generator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { useImageGen } from './use-image-gen.js';
2
- import { imageGen } from './image-generator.js';
3
- import { base64ToFile, hashInput, MODULE_STATE } from './utils.js';
4
- import type { ImageDocument, UseImageGenOptions, UseImageGenResult } from '@vibes.diy/use-vibes-types';
1
+ import { useImageGen } from "./use-image-gen.js";
2
+ import { imageGen } from "./image-generator.js";
3
+ import { base64ToFile, hashInput, MODULE_STATE } from "./utils.js";
4
+ import type { ImageDocument, UseImageGenOptions, UseImageGenResult } from "@vibes.diy/use-vibes-types";
5
5
  export { MODULE_STATE };
6
6
  export { useImageGen, imageGen, base64ToFile, hashInput };
7
7
  export type { ImageDocument, UseImageGenOptions, UseImageGenResult };
@@ -1,6 +1,6 @@
1
- import { useImageGen } from './use-image-gen.js';
2
- import { imageGen } from './image-generator.js';
3
- import { base64ToFile, hashInput, MODULE_STATE } from './utils.js';
1
+ import { useImageGen } from "./use-image-gen.js";
2
+ import { imageGen } from "./image-generator.js";
3
+ import { base64ToFile, hashInput, MODULE_STATE } from "./utils.js";
4
4
  export { MODULE_STATE };
5
5
  export { useImageGen, imageGen, base64ToFile, hashInput };
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../jsr/hooks/image-gen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAOnE,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../jsr/hooks/image-gen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import type { UseImageGenOptions, UseImageGenResult } from '@vibes.diy/use-vibes-types';
1
+ import type { UseImageGenOptions, UseImageGenResult } from "@vibes.diy/use-vibes-types";
2
2
  export declare function useImageGen({ prompt, _id, _rev, options, database, skip, generationId, editedPrompt }: Partial<UseImageGenOptions>): UseImageGenResult;