@factorialco/f0-react 2.37.1 → 2.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{F0CanvasPanel-BErabj-B.js → F0CanvasPanel-C_tqaABp.js} +2377 -2372
- package/dist/ai.d.ts +57 -8
- package/dist/ai.js +2 -2
- package/dist/experimental.d.ts +45 -9
- package/dist/experimental.js +4 -4
- package/dist/f0.d.ts +77 -31
- package/dist/f0.js +6 -6
- package/dist/i18n-provider-defaults.d.ts +13 -5
- package/dist/i18n-provider-defaults.js +8 -0
- package/dist/{useChatHistory-DBzFU3JU.js → useChatHistory-Bubo_nNb.js} +3880 -3653
- package/dist/{useDataCollectionSource-O4gVVcoQ.js → useDataCollectionSource-DrGZctSN.js} +2952 -2957
- package/package.json +1 -1
package/dist/ai.d.ts
CHANGED
|
@@ -223,6 +223,13 @@ export declare type AiChatProviderProps = {
|
|
|
223
223
|
* File attachment configuration. When provided, enables file uploads in the chat.
|
|
224
224
|
*/
|
|
225
225
|
fileAttachments?: AiChatFileAttachmentConfig;
|
|
226
|
+
/**
|
|
227
|
+
* Voice dictation. When provided, a microphone button is shown in the
|
|
228
|
+
* composer: recorded audio is transcribed and the result fills the textarea
|
|
229
|
+
* (the user reviews and sends it as a normal text message). When omitted,
|
|
230
|
+
* the microphone is hidden.
|
|
231
|
+
*/
|
|
232
|
+
onTranscribe?: TranscribeFn;
|
|
226
233
|
onThumbsUp?: (message: F0AIMessage, { threadId, feedback }: {
|
|
227
234
|
threadId: string;
|
|
228
235
|
feedback: string;
|
|
@@ -358,7 +365,7 @@ declare type AiChatProviderReturnValue = {
|
|
|
358
365
|
pendingQuote: PendingQuote | null;
|
|
359
366
|
/** Set the pending quote (pass null to clear). */
|
|
360
367
|
setPendingQuote: React.Dispatch<React.SetStateAction<PendingQuote | null>>;
|
|
361
|
-
} & Pick<AiChatState, "agent" | "chatHeader" | "chatMessages" | "chatInput" | "disclaimer" | "resizable" | "entityRefs" | "canvasActions" | "canvasEntities" | "credits" | "employeeCredits" | "creditWarning" | "fileAttachments"> & {
|
|
368
|
+
} & Pick<AiChatState, "agent" | "chatHeader" | "chatMessages" | "chatInput" | "disclaimer" | "resizable" | "entityRefs" | "canvasActions" | "canvasEntities" | "credits" | "employeeCredits" | "creditWarning" | "fileAttachments" | "onTranscribe"> & {
|
|
362
369
|
/** The current canvas content, or null when canvas is closed */
|
|
363
370
|
canvasContent: CanvasContent | null;
|
|
364
371
|
/** Open the canvas panel with the given content */
|
|
@@ -400,6 +407,7 @@ declare interface AiChatState {
|
|
|
400
407
|
employeeCredits?: AiChatEmployeeCredits;
|
|
401
408
|
creditWarning?: AiChatCreditWarning;
|
|
402
409
|
fileAttachments?: AiChatFileAttachmentConfig;
|
|
410
|
+
onTranscribe?: TranscribeFn;
|
|
403
411
|
placeholders?: string[];
|
|
404
412
|
setPlaceholders?: React.Dispatch<React.SetStateAction<string[]>>;
|
|
405
413
|
onThumbsUp?: (message: F0AIMessage, { threadId, feedback }: {
|
|
@@ -574,6 +582,14 @@ export declare const aiTranslations: {
|
|
|
574
582
|
readonly dismiss: "Dismiss";
|
|
575
583
|
};
|
|
576
584
|
readonly attachFile: "Attach file";
|
|
585
|
+
readonly recordAudio: "Record audio";
|
|
586
|
+
readonly listening: "Listening…";
|
|
587
|
+
readonly stopRecording: "Stop and transcribe";
|
|
588
|
+
readonly cancelRecording: "Cancel recording";
|
|
589
|
+
readonly transcribing: "Transcribing…";
|
|
590
|
+
readonly micPermissionDenied: "Microphone access is blocked. Allow it in your browser settings to dictate.";
|
|
591
|
+
readonly micError: "Couldn't access the microphone.";
|
|
592
|
+
readonly transcriptionError: "Couldn't transcribe the audio. Try again.";
|
|
577
593
|
readonly removeFile: "Remove";
|
|
578
594
|
readonly fileUploadError: "Upload failed";
|
|
579
595
|
readonly fileUploadBlockedSubmit: "Your message wasn't sent because one of the attachments failed to upload. Remove it or retry.";
|
|
@@ -1870,6 +1886,14 @@ export declare const defaultTranslations: {
|
|
|
1870
1886
|
readonly dismiss: "Dismiss";
|
|
1871
1887
|
};
|
|
1872
1888
|
readonly attachFile: "Attach file";
|
|
1889
|
+
readonly recordAudio: "Record audio";
|
|
1890
|
+
readonly listening: "Listening…";
|
|
1891
|
+
readonly stopRecording: "Stop and transcribe";
|
|
1892
|
+
readonly cancelRecording: "Cancel recording";
|
|
1893
|
+
readonly transcribing: "Transcribing…";
|
|
1894
|
+
readonly micPermissionDenied: "Microphone access is blocked. Allow it in your browser settings to dictate.";
|
|
1895
|
+
readonly micError: "Couldn't access the microphone.";
|
|
1896
|
+
readonly transcriptionError: "Couldn't transcribe the audio. Try again.";
|
|
1873
1897
|
readonly removeFile: "Remove";
|
|
1874
1898
|
readonly fileUploadError: "Upload failed";
|
|
1875
1899
|
readonly fileUploadBlockedSubmit: "Your message wasn't sent because one of the attachments failed to upload. Remove it or retry.";
|
|
@@ -2439,7 +2463,7 @@ export declare interface F0AiChatProps {
|
|
|
2439
2463
|
/**
|
|
2440
2464
|
* @experimental This is an experimental component use it at your own risk
|
|
2441
2465
|
*/
|
|
2442
|
-
export declare const F0AiChatProvider: ({ enabled, initialMessage, chatHeader, chatMessages, chatInput, welcomeScreenSuggestions, disclaimer, resizable, defaultVisualizationMode, lockVisualizationMode, historyEnabled, footer, VoiceMode, entityRefs, canvasActions, canvasEntities, credits, employeeCredits, creditWarning, fileAttachments, onThumbsUp, onThumbsDown, children, agent, tracking, }: AiChatProviderProps) => JSX_2.Element;
|
|
2466
|
+
export declare const F0AiChatProvider: ({ enabled, initialMessage, chatHeader, chatMessages, chatInput, welcomeScreenSuggestions, disclaimer, resizable, defaultVisualizationMode, lockVisualizationMode, historyEnabled, footer, VoiceMode, entityRefs, canvasActions, canvasEntities, credits, employeeCredits, creditWarning, fileAttachments, onTranscribe, onThumbsUp, onThumbsDown, children, agent, tracking, }: AiChatProviderProps) => JSX_2.Element;
|
|
2443
2467
|
|
|
2444
2468
|
/**
|
|
2445
2469
|
* Headless chat composer.
|
|
@@ -2450,7 +2474,7 @@ export declare const F0AiChatProvider: ({ enabled, initialMessage, chatHeader, c
|
|
|
2450
2474
|
* coupling to `useAiChat()` or CopilotKit — wrappers like F0AiChat
|
|
2451
2475
|
* provide the wiring.
|
|
2452
2476
|
*/
|
|
2453
|
-
export declare const F0AiChatTextArea: ({ onSubmit, onStop, inProgress, onBeforeSubmit, placeholders, creditWarning, clarifyingUI, pendingContext, onPendingContextChange, pendingQuote, onPendingQuoteChange, fileAttachments, searchPersons, onProcessFilesRef, disclaimer, footer, isWelcomeScreen, fullscreen, welcomeScreenSuggestions, onSuggestionClick, ref, }: F0AiChatTextAreaProps) => JSX_2.Element;
|
|
2477
|
+
export declare const F0AiChatTextArea: ({ onSubmit, onStop, inProgress, onBeforeSubmit, placeholders, creditWarning, clarifyingUI, pendingContext, onPendingContextChange, pendingQuote, onPendingQuoteChange, fileAttachments, onTranscribe, searchPersons, onProcessFilesRef, disclaimer, footer, isWelcomeScreen, fullscreen, welcomeScreenSuggestions, onSuggestionClick, ref, }: F0AiChatTextAreaProps) => JSX_2.Element;
|
|
2454
2478
|
|
|
2455
2479
|
export declare type F0AiChatTextAreaProps = {
|
|
2456
2480
|
ref: RefObject<HTMLDivElement>;
|
|
@@ -2488,6 +2512,12 @@ export declare type F0AiChatTextAreaProps = {
|
|
|
2488
2512
|
onPendingQuoteChange?: (quote: PendingQuote | null) => void;
|
|
2489
2513
|
/** File attachment configuration. When omitted, attachments are disabled. */
|
|
2490
2514
|
fileAttachments?: AiChatFileAttachmentConfig;
|
|
2515
|
+
/**
|
|
2516
|
+
* Voice dictation. When provided, a microphone button is shown: recorded
|
|
2517
|
+
* audio is transcribed and the transcript fills the textarea (the user
|
|
2518
|
+
* reviews and sends it manually). When omitted, the microphone is hidden.
|
|
2519
|
+
*/
|
|
2520
|
+
onTranscribe?: TranscribeFn;
|
|
2491
2521
|
/** Async search used by the @-mention popover. When omitted, mentions are disabled. */
|
|
2492
2522
|
searchPersons?: (query: string) => Promise<PersonProfile[]>;
|
|
2493
2523
|
/**
|
|
@@ -3979,6 +4009,25 @@ export declare interface ThreadGroup {
|
|
|
3979
4009
|
threads: ChatThread[];
|
|
3980
4010
|
}
|
|
3981
4011
|
|
|
4012
|
+
/**
|
|
4013
|
+
* Transcribes a recorded audio blob to text (voice dictation). The returned
|
|
4014
|
+
* promise resolves with the final transcript; `onPartial` delivers
|
|
4015
|
+
* intermediate results for live textarea fill. When omitted from the chat
|
|
4016
|
+
* config, the microphone button is not rendered.
|
|
4017
|
+
*/
|
|
4018
|
+
declare type TranscribeFn = (audio: Blob, options: TranscribeOptions) => Promise<string>;
|
|
4019
|
+
|
|
4020
|
+
declare type TranscribeOptions = {
|
|
4021
|
+
/**
|
|
4022
|
+
* Primary channel for live dictation: fires with the cumulative transcript
|
|
4023
|
+
* as it streams in, so the composer can fill the textarea while the user
|
|
4024
|
+
* speaks. Implementations that don't stream may call it once at the end.
|
|
4025
|
+
*/
|
|
4026
|
+
onPartial: (text: string) => void;
|
|
4027
|
+
/** Aborted when the user cancels an in-flight transcription. */
|
|
4028
|
+
signal?: AbortSignal;
|
|
4029
|
+
};
|
|
4030
|
+
|
|
3982
4031
|
declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
|
|
3983
4032
|
|
|
3984
4033
|
declare type TranslationShape<T> = {
|
|
@@ -4216,11 +4265,6 @@ declare module "gridstack" {
|
|
|
4216
4265
|
}
|
|
4217
4266
|
|
|
4218
4267
|
|
|
4219
|
-
declare namespace Calendar {
|
|
4220
|
-
var displayName: string;
|
|
4221
|
-
}
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
4268
|
declare module "@tiptap/core" {
|
|
4225
4269
|
interface Commands<ReturnType> {
|
|
4226
4270
|
aiBlock: {
|
|
@@ -4270,6 +4314,11 @@ declare module "@tiptap/core" {
|
|
|
4270
4314
|
}
|
|
4271
4315
|
|
|
4272
4316
|
|
|
4317
|
+
declare namespace Calendar {
|
|
4318
|
+
var displayName: string;
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
|
|
4273
4322
|
declare namespace F0GraphNodeWrapperInner {
|
|
4274
4323
|
var displayName: string;
|
|
4275
4324
|
}
|
package/dist/ai.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { D as e, F as r, a as t, e as o, f as i, c as n, d as F, I as C, P as A, b as l, u as d } from "./F0CanvasPanel-
|
|
1
|
+
import { D as e, F as r, a as t, e as o, f as i, c as n, d as F, I as C, P as A, b as l, u as d } from "./F0CanvasPanel-C_tqaABp.js";
|
|
2
2
|
import { defaultTranslations as m } from "./i18n-provider-defaults.js";
|
|
3
|
-
import { A as c, C as I, h as P, t as v, v as f, x as p, n as T, j as g, r as y, y as S, q as x, s as H, k as V, e as b, g as k, l as w, F as M, i as O, a as D, p as j, m as q, o as z, b as B, f as E, w as L, c as R, d as G, u as J } from "./useChatHistory-
|
|
3
|
+
import { A as c, C as I, h as P, t as v, v as f, x as p, n as T, j as g, r as y, y as S, q as x, s as H, k as V, e as b, g as k, l as w, F as M, i as O, a as D, p as j, m as q, o as z, b as B, f as E, w as L, c as R, d as G, u as J } from "./useChatHistory-Bubo_nNb.js";
|
|
4
4
|
export {
|
|
5
5
|
c as AiChatTranslationsProvider,
|
|
6
6
|
I as ChatSpinner,
|
package/dist/experimental.d.ts
CHANGED
|
@@ -589,6 +589,13 @@ declare type AiChatProviderProps = {
|
|
|
589
589
|
* File attachment configuration. When provided, enables file uploads in the chat.
|
|
590
590
|
*/
|
|
591
591
|
fileAttachments?: AiChatFileAttachmentConfig;
|
|
592
|
+
/**
|
|
593
|
+
* Voice dictation. When provided, a microphone button is shown in the
|
|
594
|
+
* composer: recorded audio is transcribed and the result fills the textarea
|
|
595
|
+
* (the user reviews and sends it as a normal text message). When omitted,
|
|
596
|
+
* the microphone is hidden.
|
|
597
|
+
*/
|
|
598
|
+
onTranscribe?: TranscribeFn;
|
|
592
599
|
onThumbsUp?: (message: F0AIMessage, { threadId, feedback }: {
|
|
593
600
|
threadId: string;
|
|
594
601
|
feedback: string;
|
|
@@ -3280,6 +3287,14 @@ declare const defaultTranslations: {
|
|
|
3280
3287
|
readonly dismiss: "Dismiss";
|
|
3281
3288
|
};
|
|
3282
3289
|
readonly attachFile: "Attach file";
|
|
3290
|
+
readonly recordAudio: "Record audio";
|
|
3291
|
+
readonly listening: "Listening…";
|
|
3292
|
+
readonly stopRecording: "Stop and transcribe";
|
|
3293
|
+
readonly cancelRecording: "Cancel recording";
|
|
3294
|
+
readonly transcribing: "Transcribing…";
|
|
3295
|
+
readonly micPermissionDenied: "Microphone access is blocked. Allow it in your browser settings to dictate.";
|
|
3296
|
+
readonly micError: "Couldn't access the microphone.";
|
|
3297
|
+
readonly transcriptionError: "Couldn't transcribe the audio. Try again.";
|
|
3283
3298
|
readonly removeFile: "Remove";
|
|
3284
3299
|
readonly fileUploadError: "Upload failed";
|
|
3285
3300
|
readonly fileUploadBlockedSubmit: "Your message wasn't sent because one of the attachments failed to upload. Remove it or retry.";
|
|
@@ -6399,10 +6414,12 @@ declare type OneDataCollectionProps<R extends RecordType, Filters extends Filter
|
|
|
6399
6414
|
features?: DataCollectionStorageFeaturesDefinition;
|
|
6400
6415
|
};
|
|
6401
6416
|
/**
|
|
6402
|
-
* By default
|
|
6403
|
-
*
|
|
6404
|
-
*
|
|
6405
|
-
* `
|
|
6417
|
+
* By default the data collection reads its filters/search/sortings/
|
|
6418
|
+
* visualization/page from the URL query params on mount and reflects any later
|
|
6419
|
+
* changes back into them (see `dataCollectionUrlParams`). This applies to any
|
|
6420
|
+
* collection — no `id` is required, and params are not scoped to one, so a
|
|
6421
|
+
* single URL-synced collection per page is assumed. Set this to `true` to opt
|
|
6422
|
+
* out of URL syncing.
|
|
6406
6423
|
*/
|
|
6407
6424
|
disableUrlParams?: boolean;
|
|
6408
6425
|
/**
|
|
@@ -8122,6 +8139,25 @@ declare interface TopLevelPrependNotesTextEditorPageDocumentPatch {
|
|
|
8122
8139
|
blocks: JSONContent[];
|
|
8123
8140
|
}
|
|
8124
8141
|
|
|
8142
|
+
/**
|
|
8143
|
+
* Transcribes a recorded audio blob to text (voice dictation). The returned
|
|
8144
|
+
* promise resolves with the final transcript; `onPartial` delivers
|
|
8145
|
+
* intermediate results for live textarea fill. When omitted from the chat
|
|
8146
|
+
* config, the microphone button is not rendered.
|
|
8147
|
+
*/
|
|
8148
|
+
declare type TranscribeFn = (audio: Blob, options: TranscribeOptions) => Promise<string>;
|
|
8149
|
+
|
|
8150
|
+
declare type TranscribeOptions = {
|
|
8151
|
+
/**
|
|
8152
|
+
* Primary channel for live dictation: fires with the cumulative transcript
|
|
8153
|
+
* as it streams in, so the composer can fill the textarea while the user
|
|
8154
|
+
* speaks. Implementations that don't stream may call it once at the end.
|
|
8155
|
+
*/
|
|
8156
|
+
onPartial: (text: string) => void;
|
|
8157
|
+
/** Aborted when the user cancels an in-flight transcription. */
|
|
8158
|
+
signal?: AbortSignal;
|
|
8159
|
+
};
|
|
8160
|
+
|
|
8125
8161
|
declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
|
|
8126
8162
|
|
|
8127
8163
|
declare type TranslationShape<T> = {
|
|
@@ -8701,11 +8737,6 @@ declare module "gridstack" {
|
|
|
8701
8737
|
}
|
|
8702
8738
|
|
|
8703
8739
|
|
|
8704
|
-
declare namespace Calendar {
|
|
8705
|
-
var displayName: string;
|
|
8706
|
-
}
|
|
8707
|
-
|
|
8708
|
-
|
|
8709
8740
|
declare module "@tiptap/core" {
|
|
8710
8741
|
interface Commands<ReturnType> {
|
|
8711
8742
|
aiBlock: {
|
|
@@ -8755,6 +8786,11 @@ declare module "@tiptap/core" {
|
|
|
8755
8786
|
}
|
|
8756
8787
|
|
|
8757
8788
|
|
|
8789
|
+
declare namespace Calendar {
|
|
8790
|
+
var displayName: string;
|
|
8791
|
+
}
|
|
8792
|
+
|
|
8793
|
+
|
|
8758
8794
|
declare namespace F0GraphNodeWrapperInner {
|
|
8759
8795
|
var displayName: string;
|
|
8760
8796
|
}
|
package/dist/experimental.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { g as da, B as ua, h as fa, i as ma, j as At, k as De, l as ha, m as p, n as X, o as be, u as ie, T as pa, p as ba, q as ga, R as xa, r as va, s as re, t as wa, v as pt, w as rt, x as Re, A as _e, y as ya, z as Na, C as M, E as Ca, G as ka, H as ve, J as sn, K as Sa, L as Ia, M as W, N as on, S as O, O as we, Q as Fa, U as Aa, V as La, W as Ea, X as _a, Y as ke, Z as cn, _ as Oa, $ as ge, a0 as $e, a1 as Da, a2 as bt, d as dn, a3 as Ce, a4 as Ta, a5 as un, a6 as ne, a7 as K, a8 as fn, a9 as mn, aa as za, ab as hn, ac as me, ad as ee, ae as Pa, af as Ba, ag as Ra, ah as $a, ai as pe, aj as Ge, ak as Wa, al as Ma, am as ja, an as Va, ao as He, ap as pn, aq as Ga, ar as Ha, as as Ua, at as We, au as Ka, av as qa, aw as Ya, ax as Za, ay as Xa, az as Ja, aA as Qa, aB as er, aC as tr, aD as nr, aE as lt, aF as it, aG as bn, aH as ar, aI as rr, aJ as lr, aK as ir, aL as Ue, aM as gt, aN as gn, aO as sr, aP as xn, aQ as or, aR as cr, aS as dr, aT as Ee, aU as ur, aV as Te, aW as Lt, aX as st, aY as fr, aZ as mr, a as hr, b as pr, a_ as vn, a$ as br, f as gr, F as xr, b0 as wn, b1 as vr, b2 as yn, b3 as wr, b4 as yr, b5 as Nr, b6 as Cr, b7 as kr, b8 as Sr, b9 as Ir, ba as Fr, bb as Ar, bc as Nn, bd as ue, be as xt, bf as vt, bg as wt, bh as Cn, bi as yt, bj as kn, bk as Sn, bl as Lr, bm as Er, bn as _r, bo as Or, bp as Dr, bq as Tr, br as zr, bs as Pr, bt as Br, bu as Rr, bv as Et, bw as _t, bx as Ot, by as $r, bz as Wr, bA as Mr, bB as jr, bC as In, bD as Vr, bE as Gr } from "./F0CanvasPanel-
|
|
2
|
-
import { bQ as Lc, bP as Ec, c0 as _c, bM as Oc, bN as Dc, bF as Tc, bG as zc, bH as Pc, c1 as Bc, bO as Rc, bY as $c, bZ as Wc, bI as Mc, bS as jc, bR as Vc, bJ as Gc, bK as Hc, b_ as Uc, c2 as Kc, b$ as qc, bX as Yc, bU as Zc, bW as Xc, bT as Jc, bL as Qc, bV as ed } from "./F0CanvasPanel-
|
|
1
|
+
import { g as da, B as ua, h as fa, i as ma, j as At, k as De, l as ha, m as p, n as X, o as be, u as ie, T as pa, p as ba, q as ga, R as xa, r as va, s as re, t as wa, v as pt, w as rt, x as Re, A as _e, y as ya, z as Na, C as M, E as Ca, G as ka, H as ve, J as sn, K as Sa, L as Ia, M as W, N as on, S as O, O as we, Q as Fa, U as Aa, V as La, W as Ea, X as _a, Y as ke, Z as cn, _ as Oa, $ as ge, a0 as $e, a1 as Da, a2 as bt, d as dn, a3 as Ce, a4 as Ta, a5 as un, a6 as ne, a7 as K, a8 as fn, a9 as mn, aa as za, ab as hn, ac as me, ad as ee, ae as Pa, af as Ba, ag as Ra, ah as $a, ai as pe, aj as Ge, ak as Wa, al as Ma, am as ja, an as Va, ao as He, ap as pn, aq as Ga, ar as Ha, as as Ua, at as We, au as Ka, av as qa, aw as Ya, ax as Za, ay as Xa, az as Ja, aA as Qa, aB as er, aC as tr, aD as nr, aE as lt, aF as it, aG as bn, aH as ar, aI as rr, aJ as lr, aK as ir, aL as Ue, aM as gt, aN as gn, aO as sr, aP as xn, aQ as or, aR as cr, aS as dr, aT as Ee, aU as ur, aV as Te, aW as Lt, aX as st, aY as fr, aZ as mr, a as hr, b as pr, a_ as vn, a$ as br, f as gr, F as xr, b0 as wn, b1 as vr, b2 as yn, b3 as wr, b4 as yr, b5 as Nr, b6 as Cr, b7 as kr, b8 as Sr, b9 as Ir, ba as Fr, bb as Ar, bc as Nn, bd as ue, be as xt, bf as vt, bg as wt, bh as Cn, bi as yt, bj as kn, bk as Sn, bl as Lr, bm as Er, bn as _r, bo as Or, bp as Dr, bq as Tr, br as zr, bs as Pr, bt as Br, bu as Rr, bv as Et, bw as _t, bx as Ot, by as $r, bz as Wr, bA as Mr, bB as jr, bC as In, bD as Vr, bE as Gr } from "./F0CanvasPanel-C_tqaABp.js";
|
|
2
|
+
import { bQ as Lc, bP as Ec, c0 as _c, bM as Oc, bN as Dc, bF as Tc, bG as zc, bH as Pc, c1 as Bc, bO as Rc, bY as $c, bZ as Wc, bI as Mc, bS as jc, bR as Vc, bJ as Gc, bK as Hc, b_ as Uc, c2 as Kc, b$ as qc, bX as Yc, bU as Zc, bW as Xc, bT as Jc, bL as Qc, bV as ed } from "./F0CanvasPanel-C_tqaABp.js";
|
|
3
3
|
import { jsx as e, jsxs as o, Fragment as U } from "react/jsx-runtime";
|
|
4
4
|
import se, { forwardRef as j, useRef as G, useTransition as Hr, useState as _, useLayoutEffect as Fn, useId as ot, useContext as Ke, createContext as Nt, useEffect as $, useCallback as Q, useMemo as q, Fragment as Ur, isValidElement as Kr, cloneElement as An, Children as Ln } from "react";
|
|
5
|
-
import { C as qr, P as Yr, g as En, c as Zr, a as _n, F as ct, f as Xr, M as Jr, b as Qr, R as Dt, d as On, u as el, e as Dn, S as tl, A as nl, B as al, L as rl, h as ll, V as il, i as sl, j as Tt, k as ol, l as cl, O as dl } from "./useDataCollectionSource-
|
|
6
|
-
import { r as nd, s as ad, p as rd, H as ld, t as id, z as sd, a9 as od, G as cd, q as dd, Q as ud, o as fd, Y as md, U as hd, J as pd, af as bd, K as gd, Z as xd, _ as vd, v as wd, ab as yd, ac as Nd, aa as Cd, ad as kd, N as Sd, $ as Id, a6 as Fd, a8 as Ad, w as Ld, y as Ed, D as _d, W as Od, ae as Dd, X as Td, T as zd, x as Pd, E as Bd, m as Rd, n as $d, a1 as Wd, a2 as Md, a7 as jd, I as Vd, a3 as Gd, a4 as Hd, a0 as Ud, a5 as Kd } from "./useDataCollectionSource-
|
|
5
|
+
import { C as qr, P as Yr, g as En, c as Zr, a as _n, F as ct, f as Xr, M as Jr, b as Qr, R as Dt, d as On, u as el, e as Dn, S as tl, A as nl, B as al, L as rl, h as ll, V as il, i as sl, j as Tt, k as ol, l as cl, O as dl } from "./useDataCollectionSource-DrGZctSN.js";
|
|
6
|
+
import { r as nd, s as ad, p as rd, H as ld, t as id, z as sd, a9 as od, G as cd, q as dd, Q as ud, o as fd, Y as md, U as hd, J as pd, af as bd, K as gd, Z as xd, _ as vd, v as wd, ab as yd, ac as Nd, aa as Cd, ad as kd, N as Sd, $ as Id, a6 as Fd, a8 as Ad, w as Ld, y as Ed, D as _d, W as Od, ae as Dd, X as Td, T as zd, x as Pd, E as Bd, m as Rd, n as $d, a1 as Wd, a2 as Md, a7 as jd, I as Vd, a3 as Gd, a4 as Hd, a0 as Ud, a5 as Kd } from "./useDataCollectionSource-DrGZctSN.js";
|
|
7
7
|
const ul = da("Search", [
|
|
8
8
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
|
|
9
9
|
["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]
|
package/dist/f0.d.ts
CHANGED
|
@@ -601,6 +601,13 @@ export declare type AiChatProviderProps = {
|
|
|
601
601
|
* File attachment configuration. When provided, enables file uploads in the chat.
|
|
602
602
|
*/
|
|
603
603
|
fileAttachments?: AiChatFileAttachmentConfig;
|
|
604
|
+
/**
|
|
605
|
+
* Voice dictation. When provided, a microphone button is shown in the
|
|
606
|
+
* composer: recorded audio is transcribed and the result fills the textarea
|
|
607
|
+
* (the user reviews and sends it as a normal text message). When omitted,
|
|
608
|
+
* the microphone is hidden.
|
|
609
|
+
*/
|
|
610
|
+
onTranscribe?: TranscribeFn;
|
|
604
611
|
onThumbsUp?: (message: F0AIMessage, { threadId, feedback }: {
|
|
605
612
|
threadId: string;
|
|
606
613
|
feedback: string;
|
|
@@ -736,7 +743,7 @@ declare type AiChatProviderReturnValue = {
|
|
|
736
743
|
pendingQuote: PendingQuote | null;
|
|
737
744
|
/** Set the pending quote (pass null to clear). */
|
|
738
745
|
setPendingQuote: React.Dispatch<React.SetStateAction<PendingQuote | null>>;
|
|
739
|
-
} & Pick<AiChatState, "agent" | "chatHeader" | "chatMessages" | "chatInput" | "disclaimer" | "resizable" | "entityRefs" | "canvasActions" | "canvasEntities" | "credits" | "employeeCredits" | "creditWarning" | "fileAttachments"> & {
|
|
746
|
+
} & Pick<AiChatState, "agent" | "chatHeader" | "chatMessages" | "chatInput" | "disclaimer" | "resizable" | "entityRefs" | "canvasActions" | "canvasEntities" | "credits" | "employeeCredits" | "creditWarning" | "fileAttachments" | "onTranscribe"> & {
|
|
740
747
|
/** The current canvas content, or null when canvas is closed */
|
|
741
748
|
canvasContent: CanvasContent | null;
|
|
742
749
|
/** Open the canvas panel with the given content */
|
|
@@ -778,6 +785,7 @@ declare interface AiChatState {
|
|
|
778
785
|
employeeCredits?: AiChatEmployeeCredits;
|
|
779
786
|
creditWarning?: AiChatCreditWarning;
|
|
780
787
|
fileAttachments?: AiChatFileAttachmentConfig;
|
|
788
|
+
onTranscribe?: TranscribeFn;
|
|
781
789
|
placeholders?: string[];
|
|
782
790
|
setPlaceholders?: React.Dispatch<React.SetStateAction<string[]>>;
|
|
783
791
|
onThumbsUp?: (message: F0AIMessage, { threadId, feedback }: {
|
|
@@ -952,6 +960,14 @@ export declare const aiTranslations: {
|
|
|
952
960
|
readonly dismiss: "Dismiss";
|
|
953
961
|
};
|
|
954
962
|
readonly attachFile: "Attach file";
|
|
963
|
+
readonly recordAudio: "Record audio";
|
|
964
|
+
readonly listening: "Listening…";
|
|
965
|
+
readonly stopRecording: "Stop and transcribe";
|
|
966
|
+
readonly cancelRecording: "Cancel recording";
|
|
967
|
+
readonly transcribing: "Transcribing…";
|
|
968
|
+
readonly micPermissionDenied: "Microphone access is blocked. Allow it in your browser settings to dictate.";
|
|
969
|
+
readonly micError: "Couldn't access the microphone.";
|
|
970
|
+
readonly transcriptionError: "Couldn't transcribe the audio. Try again.";
|
|
955
971
|
readonly removeFile: "Remove";
|
|
956
972
|
readonly fileUploadError: "Upload failed";
|
|
957
973
|
readonly fileUploadBlockedSubmit: "Your message wasn't sent because one of the attachments failed to upload. Remove it or retry.";
|
|
@@ -1632,10 +1648,10 @@ declare const boxVariants: (props?: ({
|
|
|
1632
1648
|
export declare type Breakpoint = "sm" | "md" | "lg" | "xl";
|
|
1633
1649
|
|
|
1634
1650
|
/**
|
|
1635
|
-
* Builds a fresh `URLSearchParams` encoding a data collection
|
|
1636
|
-
*
|
|
1651
|
+
* Builds a fresh `URLSearchParams` encoding a data collection's state, symmetric
|
|
1652
|
+
* with {@link parseDataCollectionUrlParams}.
|
|
1637
1653
|
*/
|
|
1638
|
-
export declare const buildDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(
|
|
1654
|
+
export declare const buildDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(state?: DataCollectionUrlState<CurrentFiltersState>) => URLSearchParams;
|
|
1639
1655
|
|
|
1640
1656
|
export declare const buildTranslations: (translations: TranslationsType) => TranslationsType;
|
|
1641
1657
|
|
|
@@ -3504,19 +3520,19 @@ export declare type Data<R extends RecordType> = {
|
|
|
3504
3520
|
|
|
3505
3521
|
/**
|
|
3506
3522
|
* Every data collection URL param shares this prefix, so each filter is its own
|
|
3507
|
-
* readable param — e.g. `?
|
|
3508
|
-
* instead of a single JSON blob.
|
|
3523
|
+
* readable param — e.g. `?dc_department=Sales&dc_search=ada&dc_view=kanban`
|
|
3524
|
+
* instead of a single JSON blob. Params are not scoped to a collection id, so
|
|
3525
|
+
* this assumes a single URL-synced collection per page.
|
|
3509
3526
|
*/
|
|
3510
3527
|
export declare const DATA_COLLECTION_URL_PARAM_PREFIX = "dc_";
|
|
3511
3528
|
|
|
3512
3529
|
/**
|
|
3513
3530
|
* The reserved (non-filter) param names. Individual filters are encoded as
|
|
3514
|
-
* `dc_<filterKey>`; these
|
|
3515
|
-
*
|
|
3531
|
+
* `dc_<filterKey>`; these names are written last (via `set`) so that on the rare
|
|
3532
|
+
* clash where a filter key is exactly `search`, `sort`, `view` or `page`, the
|
|
3516
3533
|
* reserved param wins.
|
|
3517
3534
|
*/
|
|
3518
3535
|
export declare const DATA_COLLECTION_URL_PARAMS: {
|
|
3519
|
-
readonly id: "dc_id";
|
|
3520
3536
|
readonly search: "dc_search";
|
|
3521
3537
|
readonly sortings: "dc_sort";
|
|
3522
3538
|
/** Active visualization type/key, e.g. `table` (omitted for the default one). */
|
|
@@ -3661,11 +3677,6 @@ export declare type DataCollectionStorageHandler<CurrentFiltersState extends Fil
|
|
|
3661
3677
|
/** How {@link syncDataCollectionUrlParams} should update the browser history. */
|
|
3662
3678
|
export declare type DataCollectionUrlHistoryMode = "replace" | "push" | "none";
|
|
3663
3679
|
|
|
3664
|
-
export declare type DataCollectionUrlParams<CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>> = {
|
|
3665
|
-
id: string;
|
|
3666
|
-
state: DataCollectionUrlState<CurrentFiltersState>;
|
|
3667
|
-
};
|
|
3668
|
-
|
|
3669
3680
|
/** The subset of a data collection's state we read from / write to the URL. */
|
|
3670
3681
|
export declare type DataCollectionUrlState<CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>> = Pick<DataCollectionStorage<CurrentFiltersState>, "filters" | "search" | "sortings"> & {
|
|
3671
3682
|
/**
|
|
@@ -4545,6 +4556,14 @@ export declare const defaultTranslations: {
|
|
|
4545
4556
|
readonly dismiss: "Dismiss";
|
|
4546
4557
|
};
|
|
4547
4558
|
readonly attachFile: "Attach file";
|
|
4559
|
+
readonly recordAudio: "Record audio";
|
|
4560
|
+
readonly listening: "Listening…";
|
|
4561
|
+
readonly stopRecording: "Stop and transcribe";
|
|
4562
|
+
readonly cancelRecording: "Cancel recording";
|
|
4563
|
+
readonly transcribing: "Transcribing…";
|
|
4564
|
+
readonly micPermissionDenied: "Microphone access is blocked. Allow it in your browser settings to dictate.";
|
|
4565
|
+
readonly micError: "Couldn't access the microphone.";
|
|
4566
|
+
readonly transcriptionError: "Couldn't transcribe the audio. Try again.";
|
|
4548
4567
|
readonly removeFile: "Remove";
|
|
4549
4568
|
readonly fileUploadError: "Upload failed";
|
|
4550
4569
|
readonly fileUploadBlockedSubmit: "Your message wasn't sent because one of the attachments failed to upload. Remove it or retry.";
|
|
@@ -5611,7 +5630,7 @@ export declare interface F0AiChatProps {
|
|
|
5611
5630
|
/**
|
|
5612
5631
|
* @experimental This is an experimental component use it at your own risk
|
|
5613
5632
|
*/
|
|
5614
|
-
export declare const F0AiChatProvider: ({ enabled, initialMessage, chatHeader, chatMessages, chatInput, welcomeScreenSuggestions, disclaimer, resizable, defaultVisualizationMode, lockVisualizationMode, historyEnabled, footer, VoiceMode, entityRefs, canvasActions, canvasEntities, credits, employeeCredits, creditWarning, fileAttachments, onThumbsUp, onThumbsDown, children, agent, tracking, }: AiChatProviderProps) => JSX_2.Element;
|
|
5633
|
+
export declare const F0AiChatProvider: ({ enabled, initialMessage, chatHeader, chatMessages, chatInput, welcomeScreenSuggestions, disclaimer, resizable, defaultVisualizationMode, lockVisualizationMode, historyEnabled, footer, VoiceMode, entityRefs, canvasActions, canvasEntities, credits, employeeCredits, creditWarning, fileAttachments, onTranscribe, onThumbsUp, onThumbsDown, children, agent, tracking, }: AiChatProviderProps) => JSX_2.Element;
|
|
5615
5634
|
|
|
5616
5635
|
/**
|
|
5617
5636
|
* Headless chat composer.
|
|
@@ -5622,7 +5641,7 @@ export declare const F0AiChatProvider: ({ enabled, initialMessage, chatHeader, c
|
|
|
5622
5641
|
* coupling to `useAiChat()` or CopilotKit — wrappers like F0AiChat
|
|
5623
5642
|
* provide the wiring.
|
|
5624
5643
|
*/
|
|
5625
|
-
export declare const F0AiChatTextArea: ({ onSubmit, onStop, inProgress, onBeforeSubmit, placeholders, creditWarning, clarifyingUI, pendingContext, onPendingContextChange, pendingQuote, onPendingQuoteChange, fileAttachments, searchPersons, onProcessFilesRef, disclaimer, footer, isWelcomeScreen, fullscreen, welcomeScreenSuggestions, onSuggestionClick, ref, }: F0AiChatTextAreaProps) => JSX_2.Element;
|
|
5644
|
+
export declare const F0AiChatTextArea: ({ onSubmit, onStop, inProgress, onBeforeSubmit, placeholders, creditWarning, clarifyingUI, pendingContext, onPendingContextChange, pendingQuote, onPendingQuoteChange, fileAttachments, onTranscribe, searchPersons, onProcessFilesRef, disclaimer, footer, isWelcomeScreen, fullscreen, welcomeScreenSuggestions, onSuggestionClick, ref, }: F0AiChatTextAreaProps) => JSX_2.Element;
|
|
5626
5645
|
|
|
5627
5646
|
export declare type F0AiChatTextAreaProps = {
|
|
5628
5647
|
ref: RefObject<HTMLDivElement>;
|
|
@@ -5660,6 +5679,12 @@ export declare type F0AiChatTextAreaProps = {
|
|
|
5660
5679
|
onPendingQuoteChange?: (quote: PendingQuote | null) => void;
|
|
5661
5680
|
/** File attachment configuration. When omitted, attachments are disabled. */
|
|
5662
5681
|
fileAttachments?: AiChatFileAttachmentConfig;
|
|
5682
|
+
/**
|
|
5683
|
+
* Voice dictation. When provided, a microphone button is shown: recorded
|
|
5684
|
+
* audio is transcribed and the transcript fills the textarea (the user
|
|
5685
|
+
* reviews and sends it manually). When omitted, the microphone is hidden.
|
|
5686
|
+
*/
|
|
5687
|
+
onTranscribe?: TranscribeFn;
|
|
5663
5688
|
/** Async search used by the @-mention popover. When omitted, mentions are disabled. */
|
|
5664
5689
|
searchPersons?: (query: string) => Promise<PersonProfile[]>;
|
|
5665
5690
|
/**
|
|
@@ -12464,15 +12489,17 @@ export declare type PaginationInfo = Omit<PageBasedPaginatedResponse<unknown>, "
|
|
|
12464
12489
|
export declare type PaginationType = "pages" | "infinite-scroll" | "no-pagination";
|
|
12465
12490
|
|
|
12466
12491
|
/**
|
|
12467
|
-
* Parses
|
|
12492
|
+
* Parses a data collection's state out of URL query params.
|
|
12468
12493
|
*
|
|
12469
12494
|
* @param input - A query string, a `URLSearchParams`, or omitted to read from
|
|
12470
12495
|
* `window.location.search`.
|
|
12471
12496
|
* @param filtersDefinition - Needed to decode the `dc_<filterKey>` params back
|
|
12472
12497
|
* into correctly-typed filter values. Omit to skip filters.
|
|
12473
|
-
* @returns
|
|
12498
|
+
* @returns The state encoded in the URL (empty when no `dc_` params are present).
|
|
12499
|
+
* Params are not scoped to a collection id — one synced collection per
|
|
12500
|
+
* page is assumed.
|
|
12474
12501
|
*/
|
|
12475
|
-
export declare const parseDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(input?: string | URLSearchParams, filtersDefinition?: FiltersDefinition) =>
|
|
12502
|
+
export declare const parseDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(input?: string | URLSearchParams, filtersDefinition?: FiltersDefinition) => DataCollectionUrlState<CurrentFiltersState>;
|
|
12476
12503
|
|
|
12477
12504
|
declare type PathsToStringProps<T> = T extends string ? [] : {
|
|
12478
12505
|
[K in Extract<keyof T, string>]: [K, ...PathsToStringProps<T[K]>];
|
|
@@ -13543,12 +13570,12 @@ export declare const selectSizes: readonly ["sm", "md"];
|
|
|
13543
13570
|
declare type SelectValueType = string | number;
|
|
13544
13571
|
|
|
13545
13572
|
/**
|
|
13546
|
-
* Writes a data collection's current
|
|
13547
|
-
*
|
|
13548
|
-
*
|
|
13549
|
-
*
|
|
13573
|
+
* Writes a data collection's current state onto an existing query string,
|
|
13574
|
+
* preserving any unrelated params. Every `dc_`-prefixed param is rebuilt from
|
|
13575
|
+
* `state`, so cleared values drop out and an entirely empty state leaves the URL
|
|
13576
|
+
* free of `dc_` params.
|
|
13550
13577
|
*/
|
|
13551
|
-
export declare const setDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(current: string | URLSearchParams | undefined,
|
|
13578
|
+
export declare const setDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(current: string | URLSearchParams | undefined, state: DataCollectionUrlState<CurrentFiltersState>) => URLSearchParams;
|
|
13552
13579
|
|
|
13553
13580
|
declare type SetFormCardValueFormatter = <T = unknown>(entry: FormCardValueFormatterEntry<T>) => void;
|
|
13554
13581
|
|
|
@@ -13843,14 +13870,14 @@ export declare type SurveySubmitAnswers = Record<string, string | number | boole
|
|
|
13843
13870
|
declare type SwitchFieldRenderIf = BooleanRenderIfCondition | CommonRenderIfCondition | F0BaseFieldRenderIfFunction;
|
|
13844
13871
|
|
|
13845
13872
|
/**
|
|
13846
|
-
* Reflects a data collection's current
|
|
13873
|
+
* Reflects a data collection's current state into the URL.
|
|
13847
13874
|
*
|
|
13848
13875
|
* Pairs with {@link parseDataCollectionUrlParams} (which reads the other way).
|
|
13849
13876
|
* `OneDataCollection` wires this up by default when an `id` is set.
|
|
13850
13877
|
*
|
|
13851
13878
|
* @returns The resulting query string (no leading `?`), or `null` under SSR.
|
|
13852
13879
|
*/
|
|
13853
|
-
export declare const syncDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(
|
|
13880
|
+
export declare const syncDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(state: DataCollectionUrlState<CurrentFiltersState>, options?: {
|
|
13854
13881
|
history?: DataCollectionUrlHistoryMode;
|
|
13855
13882
|
}) => string | null;
|
|
13856
13883
|
|
|
@@ -14445,6 +14472,25 @@ declare interface TopLevelPrependNotesTextEditorPageDocumentPatch {
|
|
|
14445
14472
|
blocks: JSONContent[];
|
|
14446
14473
|
}
|
|
14447
14474
|
|
|
14475
|
+
/**
|
|
14476
|
+
* Transcribes a recorded audio blob to text (voice dictation). The returned
|
|
14477
|
+
* promise resolves with the final transcript; `onPartial` delivers
|
|
14478
|
+
* intermediate results for live textarea fill. When omitted from the chat
|
|
14479
|
+
* config, the microphone button is not rendered.
|
|
14480
|
+
*/
|
|
14481
|
+
declare type TranscribeFn = (audio: Blob, options: TranscribeOptions) => Promise<string>;
|
|
14482
|
+
|
|
14483
|
+
declare type TranscribeOptions = {
|
|
14484
|
+
/**
|
|
14485
|
+
* Primary channel for live dictation: fires with the cumulative transcript
|
|
14486
|
+
* as it streams in, so the composer can fill the textarea while the user
|
|
14487
|
+
* speaks. Implementations that don't stream may call it once at the end.
|
|
14488
|
+
*/
|
|
14489
|
+
onPartial: (text: string) => void;
|
|
14490
|
+
/** Aborted when the user cancels an in-flight transcription. */
|
|
14491
|
+
signal?: AbortSignal;
|
|
14492
|
+
};
|
|
14493
|
+
|
|
14448
14494
|
declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
|
|
14449
14495
|
|
|
14450
14496
|
declare type TranslationShape<T> = {
|
|
@@ -15522,11 +15568,6 @@ declare module "gridstack" {
|
|
|
15522
15568
|
}
|
|
15523
15569
|
|
|
15524
15570
|
|
|
15525
|
-
declare namespace Calendar {
|
|
15526
|
-
var displayName: string;
|
|
15527
|
-
}
|
|
15528
|
-
|
|
15529
|
-
|
|
15530
15571
|
declare module "@tiptap/core" {
|
|
15531
15572
|
interface Commands<ReturnType> {
|
|
15532
15573
|
aiBlock: {
|
|
@@ -15576,6 +15617,11 @@ declare module "@tiptap/core" {
|
|
|
15576
15617
|
}
|
|
15577
15618
|
|
|
15578
15619
|
|
|
15620
|
+
declare namespace Calendar {
|
|
15621
|
+
var displayName: string;
|
|
15622
|
+
}
|
|
15623
|
+
|
|
15624
|
+
|
|
15579
15625
|
declare namespace F0GraphNodeWrapperInner {
|
|
15580
15626
|
var displayName: string;
|
|
15581
15627
|
}
|
package/dist/f0.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { du as dk, a6 as yt, bd as Dg, m as ce, o as Pa, fZ as hk, n as Hs, eH as C3, ac as go, g2 as T3, ad as Ew, S as oe, u as tt, C as dt, cY as Vu, A as vk, i as D3, H as Wv, cK as yu, a7 as kr, a3 as gd, g3 as A3, g4 as Xb, g5 as M3, g6 as E3, g7 as eT, dQ as L3, g8 as N3, g9 as pk, ga as I3, M as pt, aX as k3, aL as R3, b8 as P3, dM as tT, s as Fu, a1 as Lw, a2 as Ws, b9 as O3, fh as B3, aB as Nw, aC as Iw, aD as kw, aj as gk, c0 as Uv, dv as mk, gb as V3, fl as F3, aF as yk, de as z3, br as G3, aV as bk, Y as zu, gc as H3, ae as W3, gd as Rw, ge as rT, ff as U3, gf as $3, gg as Y3, gh as X3, W as Pw, dN as bu, bH as Ow, dK as q3, dp as Bw, at as ou, bI as xk, d5 as Vw, b6 as Us, a8 as Bn, ao as Z3, cz as qb, cy as _k, gi as Ag, d6 as Fw, fR as j3, a0 as wk, fe as K3, by as Q3, ab as Mg, dG as J3, dH as eH, dI as tH, c as rH, er as nH, z as Sk, cF as rl, dm as Ck, bB as zw, E as Eg, G as Lg, cp as Gw, L as Ng, V as Ar, X as xu, fx as su, fy as lu, K as uu, fz as cu, fv as iH, fw as io, cs as Tk, aq as aH, d3 as $v, gj as on, aA as oH, d9 as Dk, d8 as Ak, gk as sH, aN as Mk, aT as lH, dC as uH, dD as cH, dw as fH, be as Gu, bi as Hu, bp as md, dq as dH, bf as hH, b0 as vH, N as Ek, b7 as pH, _ as gH, d0 as nT, dl as Pf, fi as mH, fj as yH, gl as bH, aS as xH, bj as _H, cI as Lk, a4 as wH, cx as SH, g0 as CH, gm as TH, gn as DH, I as AH, go as MH, gp as EH, gq as LH, gr as NH } from "./F0CanvasPanel-
|
|
2
|
-
import { gA as Dme, D as Ame, aM as Mme, F as Eme, a as Lme, e as Nme, b1 as Ime, bs as kme, bc as Rme, ai as Pme, dP as Ome, ar as Bme, bF as Vme, f as Fme, dJ as zme, dy as Gme, gE as Hme, d as Wme, bG as Ume, bk as $me, gv as Yme, aZ as Xme, gw as qme, gy as Zme, gz as jme, c1 as Kme, gB as Qme, bY as Jme, bZ as eye, P as tye, gx as rye, b_ as nye, gF as iye, gs as aye, gt as oye, gu as sye, b$ as lye, gD as uye, fS as cye, gC as fye, aQ as dye, bX as hye, bU as vye, bW as pye, bT as gye, fU as mye, fO as yye, bL as bye, bV as xye, b as _ye, fN as wye, g1 as Sye, aO as Cye, dt as Tye, fQ as Dye, fP as Aye, gG as Mye } from "./F0CanvasPanel-
|
|
1
|
+
import { du as dk, a6 as yt, bd as Dg, m as ce, o as Pa, fZ as hk, n as Hs, eH as C3, ac as go, g2 as T3, ad as Ew, S as oe, u as tt, C as dt, cY as Vu, A as vk, i as D3, H as Wv, cK as yu, a7 as kr, a3 as gd, g3 as A3, g4 as Xb, g5 as M3, g6 as E3, g7 as eT, dQ as L3, g8 as N3, g9 as pk, ga as I3, M as pt, aX as k3, aL as R3, b8 as P3, dM as tT, s as Fu, a1 as Lw, a2 as Ws, b9 as O3, fh as B3, aB as Nw, aC as Iw, aD as kw, aj as gk, c0 as Uv, dv as mk, gb as V3, fl as F3, aF as yk, de as z3, br as G3, aV as bk, Y as zu, gc as H3, ae as W3, gd as Rw, ge as rT, ff as U3, gf as $3, gg as Y3, gh as X3, W as Pw, dN as bu, bH as Ow, dK as q3, dp as Bw, at as ou, bI as xk, d5 as Vw, b6 as Us, a8 as Bn, ao as Z3, cz as qb, cy as _k, gi as Ag, d6 as Fw, fR as j3, a0 as wk, fe as K3, by as Q3, ab as Mg, dG as J3, dH as eH, dI as tH, c as rH, er as nH, z as Sk, cF as rl, dm as Ck, bB as zw, E as Eg, G as Lg, cp as Gw, L as Ng, V as Ar, X as xu, fx as su, fy as lu, K as uu, fz as cu, fv as iH, fw as io, cs as Tk, aq as aH, d3 as $v, gj as on, aA as oH, d9 as Dk, d8 as Ak, gk as sH, aN as Mk, aT as lH, dC as uH, dD as cH, dw as fH, be as Gu, bi as Hu, bp as md, dq as dH, bf as hH, b0 as vH, N as Ek, b7 as pH, _ as gH, d0 as nT, dl as Pf, fi as mH, fj as yH, gl as bH, aS as xH, bj as _H, cI as Lk, a4 as wH, cx as SH, g0 as CH, gm as TH, gn as DH, I as AH, go as MH, gp as EH, gq as LH, gr as NH } from "./F0CanvasPanel-C_tqaABp.js";
|
|
2
|
+
import { gA as Dme, D as Ame, aM as Mme, F as Eme, a as Lme, e as Nme, b1 as Ime, bs as kme, bc as Rme, ai as Pme, dP as Ome, ar as Bme, bF as Vme, f as Fme, dJ as zme, dy as Gme, gE as Hme, d as Wme, bG as Ume, bk as $me, gv as Yme, aZ as Xme, gw as qme, gy as Zme, gz as jme, c1 as Kme, gB as Qme, bY as Jme, bZ as eye, P as tye, gx as rye, b_ as nye, gF as iye, gs as aye, gt as oye, gu as sye, b$ as lye, gD as uye, fS as cye, gC as fye, aQ as dye, bX as hye, bU as vye, bW as pye, bT as gye, fU as mye, fO as yye, bL as bye, bV as xye, b as _ye, fN as wye, g1 as Sye, aO as Cye, dt as Tye, fQ as Dye, fP as Aye, gG as Mye } from "./F0CanvasPanel-C_tqaABp.js";
|
|
3
3
|
import { jsx as w, jsxs as B, Fragment as kt } from "react/jsx-runtime";
|
|
4
4
|
import * as Yn from "react";
|
|
5
5
|
import He, { forwardRef as Jr, useRef as se, useImperativeHandle as IH, Children as Yv, createContext as en, useContext as _r, useState as ye, useMemo as ae, useEffect as _e, useCallback as te, useLayoutEffect as Zb, createElement as Xd, isValidElement as Nk, Fragment as Ig, memo as Ik, useReducer as kH, cloneElement as RH, useId as kg } from "react";
|
|
6
|
-
import { z as PH, B as OH, U as iT, D as aT, E as $m, G as oT, H as BH, I as Oa, J as nl, K as VH, L as Hw, M as Rr, N as fi, O as FH, P as zH, Q as kk, Z as Ho, R as GH, S as HH, T as WH, V as Rk, W as Xv, X as Ww, Y as Pk, _ as Ok, $ as pn, a0 as UH, a1 as $H, a2 as Bk, a3 as Rg, a4 as YH, a5 as XH, a6 as Vk, a7 as qH, a8 as ZH, a9 as jH, aa as KH, ab as QH, ac as JH, F as eW } from "./useChatHistory-
|
|
7
|
-
import { A as Lye, C as Nye, h as Iye, t as kye, v as Rye, x as Pye, ah as Oye, n as Bye, j as Vye, r as Fye, y as zye, q as Gye, s as Hye, k as Wye, e as Uye, g as $ye, l as Yye, i as Xye, a as qye, p as Zye, ai as jye, af as Kye, ae as Qye, ag as Jye, m as e0e, o as t0e, ad as r0e, b as n0e, f as i0e, w as a0e, c as o0e, d as s0e, u as l0e } from "./useChatHistory-
|
|
6
|
+
import { z as PH, B as OH, U as iT, D as aT, E as $m, G as oT, H as BH, I as Oa, J as nl, K as VH, L as Hw, M as Rr, N as fi, O as FH, P as zH, Q as kk, Z as Ho, R as GH, S as HH, T as WH, V as Rk, W as Xv, X as Ww, Y as Pk, _ as Ok, $ as pn, a0 as UH, a1 as $H, a2 as Bk, a3 as Rg, a4 as YH, a5 as XH, a6 as Vk, a7 as qH, a8 as ZH, a9 as jH, aa as KH, ab as QH, ac as JH, F as eW } from "./useChatHistory-Bubo_nNb.js";
|
|
7
|
+
import { A as Lye, C as Nye, h as Iye, t as kye, v as Rye, x as Pye, ah as Oye, n as Bye, j as Vye, r as Fye, y as zye, q as Gye, s as Hye, k as Wye, e as Uye, g as $ye, l as Yye, i as Xye, a as qye, p as Zye, ai as jye, af as Kye, ae as Qye, ag as Jye, m as e0e, o as t0e, ad as r0e, b as n0e, f as i0e, w as a0e, c as o0e, d as s0e, u as l0e } from "./useChatHistory-Bubo_nNb.js";
|
|
8
8
|
import { createPortal as Fk, unstable_batchedUpdates as qd, flushSync as tW } from "react-dom";
|
|
9
|
-
import { C as rW, o as nW, G as jb, H as zk, ag as Gk, Q as Hk, ae as iW, U as aW, X as Wk, Y as Uw, ah as $w, a9 as oW, ai as sW, aj as lW, d as Pg, ak as uW, R as Yw, u as Xw, W as Uk, O as qw, al as $k, am as Zw, p as cW, a4 as Yk, $ as Xk, an as fW, ao as dW, ap as hW, aq as vW, ar as pW, M as gW, as as Kb } from "./useDataCollectionSource-
|
|
10
|
-
import { r as c0e, s as f0e, t as d0e, z as h0e, az as v0e, ay as p0e, au as g0e, F as m0e, J as y0e, af as b0e, K as x0e, v as _0e, aA as w0e, ab as S0e, ac as C0e, aa as T0e, ad as D0e, N as A0e, w as M0e, P as E0e, y as L0e, D as N0e, T as I0e, x as k0e, E as R0e, aC as P0e, m as O0e, n as B0e, at as V0e, aB as F0e, a7 as z0e, I as G0e, aD as H0e, aE as W0e, av as U0e, aw as $0e, ax as Y0e, e as X0e, aF as q0e } from "./useDataCollectionSource-
|
|
9
|
+
import { C as rW, o as nW, G as jb, H as zk, ag as Gk, Q as Hk, ae as iW, U as aW, X as Wk, Y as Uw, ah as $w, a9 as oW, ai as sW, aj as lW, d as Pg, ak as uW, R as Yw, u as Xw, W as Uk, O as qw, al as $k, am as Zw, p as cW, a4 as Yk, $ as Xk, an as fW, ao as dW, ap as hW, aq as vW, ar as pW, M as gW, as as Kb } from "./useDataCollectionSource-DrGZctSN.js";
|
|
10
|
+
import { r as c0e, s as f0e, t as d0e, z as h0e, az as v0e, ay as p0e, au as g0e, F as m0e, J as y0e, af as b0e, K as x0e, v as _0e, aA as w0e, ab as S0e, ac as C0e, aa as T0e, ad as D0e, N as A0e, w as M0e, P as E0e, y as L0e, D as N0e, T as I0e, x as k0e, E as R0e, aC as P0e, m as O0e, n as B0e, at as V0e, aB as F0e, a7 as z0e, I as G0e, aD as H0e, aE as W0e, av as U0e, aw as $0e, ax as Y0e, e as X0e, aF as q0e } from "./useDataCollectionSource-DrGZctSN.js";
|
|
11
11
|
import { utils as fu, write as qk } from "./xlsx-Bedf3nwD.js";
|
|
12
12
|
import { defaultTranslations as j0e } from "./i18n-provider-defaults.js";
|
|
13
13
|
import './f0.css';const mW = {
|
|
@@ -472,6 +472,14 @@ export declare const defaultTranslations: {
|
|
|
472
472
|
readonly dismiss: "Dismiss";
|
|
473
473
|
};
|
|
474
474
|
readonly attachFile: "Attach file";
|
|
475
|
+
readonly recordAudio: "Record audio";
|
|
476
|
+
readonly listening: "Listening…";
|
|
477
|
+
readonly stopRecording: "Stop and transcribe";
|
|
478
|
+
readonly cancelRecording: "Cancel recording";
|
|
479
|
+
readonly transcribing: "Transcribing…";
|
|
480
|
+
readonly micPermissionDenied: "Microphone access is blocked. Allow it in your browser settings to dictate.";
|
|
481
|
+
readonly micError: "Couldn't access the microphone.";
|
|
482
|
+
readonly transcriptionError: "Couldn't transcribe the audio. Try again.";
|
|
475
483
|
readonly removeFile: "Remove";
|
|
476
484
|
readonly fileUploadError: "Upload failed";
|
|
477
485
|
readonly fileUploadBlockedSubmit: "Your message wasn't sent because one of the attachments failed to upload. Remove it or retry.";
|
|
@@ -842,11 +850,6 @@ declare module "gridstack" {
|
|
|
842
850
|
}
|
|
843
851
|
|
|
844
852
|
|
|
845
|
-
declare namespace Calendar {
|
|
846
|
-
var displayName: string;
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
|
|
850
853
|
declare module "@tiptap/core" {
|
|
851
854
|
interface Commands<ReturnType> {
|
|
852
855
|
aiBlock: {
|
|
@@ -896,6 +899,11 @@ declare module "@tiptap/core" {
|
|
|
896
899
|
}
|
|
897
900
|
|
|
898
901
|
|
|
902
|
+
declare namespace Calendar {
|
|
903
|
+
var displayName: string;
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
|
|
899
907
|
declare namespace F0GraphNodeWrapperInner {
|
|
900
908
|
var displayName: string;
|
|
901
909
|
}
|
|
@@ -472,6 +472,14 @@ const e = {
|
|
|
472
472
|
dismiss: "Dismiss"
|
|
473
473
|
},
|
|
474
474
|
attachFile: "Attach file",
|
|
475
|
+
recordAudio: "Record audio",
|
|
476
|
+
listening: "Listening…",
|
|
477
|
+
stopRecording: "Stop and transcribe",
|
|
478
|
+
cancelRecording: "Cancel recording",
|
|
479
|
+
transcribing: "Transcribing…",
|
|
480
|
+
micPermissionDenied: "Microphone access is blocked. Allow it in your browser settings to dictate.",
|
|
481
|
+
micError: "Couldn't access the microphone.",
|
|
482
|
+
transcriptionError: "Couldn't transcribe the audio. Try again.",
|
|
475
483
|
removeFile: "Remove",
|
|
476
484
|
fileUploadError: "Upload failed",
|
|
477
485
|
fileUploadBlockedSubmit: "Your message wasn't sent because one of the attachments failed to upload. Remove it or retry.",
|