@doderasoftware/restify-ai 0.1.0-beta.1

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 (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +514 -0
  3. package/dist/components/AiAvatar.vue.d.ts +27 -0
  4. package/dist/components/AiAvatar.vue.d.ts.map +1 -0
  5. package/dist/components/AiChatDrawer.vue.d.ts +148 -0
  6. package/dist/components/AiChatDrawer.vue.d.ts.map +1 -0
  7. package/dist/components/AiEmptyState.vue.d.ts +36 -0
  8. package/dist/components/AiEmptyState.vue.d.ts.map +1 -0
  9. package/dist/components/ChatInput.vue.d.ts +110 -0
  10. package/dist/components/ChatInput.vue.d.ts.map +1 -0
  11. package/dist/components/ChatMessage.vue.d.ts +44 -0
  12. package/dist/components/ChatMessage.vue.d.ts.map +1 -0
  13. package/dist/components/ChatMessageActions.vue.d.ts +33 -0
  14. package/dist/components/ChatMessageActions.vue.d.ts.map +1 -0
  15. package/dist/components/MentionList.vue.d.ts +58 -0
  16. package/dist/components/MentionList.vue.d.ts.map +1 -0
  17. package/dist/components/UserAvatar.vue.d.ts +27 -0
  18. package/dist/components/UserAvatar.vue.d.ts.map +1 -0
  19. package/dist/components/drawer/ConfirmDialog.vue.d.ts +47 -0
  20. package/dist/components/drawer/ConfirmDialog.vue.d.ts.map +1 -0
  21. package/dist/components/drawer/DrawerHeader.vue.d.ts +46 -0
  22. package/dist/components/drawer/DrawerHeader.vue.d.ts.map +1 -0
  23. package/dist/components/drawer/DrawerMessageList.vue.d.ts +44 -0
  24. package/dist/components/drawer/DrawerMessageList.vue.d.ts.map +1 -0
  25. package/dist/components/drawer/SetupGuide.vue.d.ts +19 -0
  26. package/dist/components/drawer/SetupGuide.vue.d.ts.map +1 -0
  27. package/dist/components/index.d.ts +9 -0
  28. package/dist/components/index.d.ts.map +1 -0
  29. package/dist/components/input/AttachmentsPreview.vue.d.ts +30 -0
  30. package/dist/components/input/AttachmentsPreview.vue.d.ts.map +1 -0
  31. package/dist/components/input/InputActions.vue.d.ts +28 -0
  32. package/dist/components/input/InputActions.vue.d.ts.map +1 -0
  33. package/dist/components/input/SuggestionsDropdown.vue.d.ts +32 -0
  34. package/dist/components/input/SuggestionsDropdown.vue.d.ts.map +1 -0
  35. package/dist/composables/index.d.ts +12 -0
  36. package/dist/composables/index.d.ts.map +1 -0
  37. package/dist/composables/useAiContext.d.ts +18 -0
  38. package/dist/composables/useAiContext.d.ts.map +1 -0
  39. package/dist/composables/useAiSuggestions.d.ts +11 -0
  40. package/dist/composables/useAiSuggestions.d.ts.map +1 -0
  41. package/dist/composables/useChatErrorHandling.d.ts +14 -0
  42. package/dist/composables/useChatErrorHandling.d.ts.map +1 -0
  43. package/dist/composables/useChatInput.d.ts +108 -0
  44. package/dist/composables/useChatInput.d.ts.map +1 -0
  45. package/dist/composables/useChatMarkdown.d.ts +10 -0
  46. package/dist/composables/useChatMarkdown.d.ts.map +1 -0
  47. package/dist/composables/useChatScroll.d.ts +10 -0
  48. package/dist/composables/useChatScroll.d.ts.map +1 -0
  49. package/dist/composables/useHistoryLimit.d.ts +37 -0
  50. package/dist/composables/useHistoryLimit.d.ts.map +1 -0
  51. package/dist/composables/useKeyboardShortcut.d.ts +14 -0
  52. package/dist/composables/useKeyboardShortcut.d.ts.map +1 -0
  53. package/dist/composables/useLoadingText.d.ts +12 -0
  54. package/dist/composables/useLoadingText.d.ts.map +1 -0
  55. package/dist/composables/useMentionParsing.d.ts +67 -0
  56. package/dist/composables/useMentionParsing.d.ts.map +1 -0
  57. package/dist/composables/usePageAiContext.d.ts +24 -0
  58. package/dist/composables/usePageAiContext.d.ts.map +1 -0
  59. package/dist/composables/useSuggestions.d.ts +2 -0
  60. package/dist/composables/useSuggestions.d.ts.map +1 -0
  61. package/dist/config.d.ts +13 -0
  62. package/dist/config.d.ts.map +1 -0
  63. package/dist/index.d.ts +57 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/restify-ai.js +5425 -0
  66. package/dist/restify-ai.umd.cjs +76 -0
  67. package/dist/store.d.ts +247 -0
  68. package/dist/store.d.ts.map +1 -0
  69. package/dist/style.css +1 -0
  70. package/dist/suggestions/index.d.ts +24 -0
  71. package/dist/suggestions/index.d.ts.map +1 -0
  72. package/dist/types/index.d.ts +601 -0
  73. package/dist/types/index.d.ts.map +1 -0
  74. package/package.json +119 -0
  75. package/tailwind.config.cjs +54 -0
@@ -0,0 +1,19 @@
1
+ interface Props {
2
+ copied: boolean;
3
+ }
4
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ copy: () => void;
6
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
7
+ onCopy?: (() => any) | undefined;
8
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
+ export default _default;
10
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
+ type __VLS_TypePropsToRuntimeProps<T> = {
12
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
13
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
14
+ } : {
15
+ type: import('vue').PropType<T[K]>;
16
+ required: true;
17
+ };
18
+ };
19
+ //# sourceMappingURL=SetupGuide.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupGuide.vue.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/SetupGuide.vue"],"names":[],"mappings":"AA0CA;AAIA,UAAU,KAAK;IACb,MAAM,EAAE,OAAO,CAAA;CAChB;;;;;;AAqSD,wBAOG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { default as AiAvatar } from './AiAvatar.vue';
2
+ export { default as UserAvatar } from './UserAvatar.vue';
3
+ export { default as MentionList } from './MentionList.vue';
4
+ export { default as ChatMessageActions } from './ChatMessageActions.vue';
5
+ export { default as ChatMessage } from './ChatMessage.vue';
6
+ export { default as ChatInput } from './ChatInput.vue';
7
+ export { default as AiEmptyState } from './AiEmptyState.vue';
8
+ export { default as AiChatDrawer } from './AiChatDrawer.vue';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { ChatAttachment, ChatInputUI, ChatInputTexts } from '../../types';
2
+
3
+ interface UploadingAttachment extends ChatAttachment {
4
+ uploading?: boolean;
5
+ progress?: number;
6
+ previewUrl?: string;
7
+ }
8
+ interface Props {
9
+ attachments: UploadingAttachment[];
10
+ ui: ChatInputUI;
11
+ texts?: ChatInputTexts;
12
+ isImage: (file: UploadingAttachment) => boolean;
13
+ formatFileSize: (size?: number | string) => string;
14
+ }
15
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ remove: (id: string) => void;
17
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
18
+ onRemove?: ((id: string) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
20
+ export default _default;
21
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
22
+ type __VLS_TypePropsToRuntimeProps<T> = {
23
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
24
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
25
+ } : {
26
+ type: import('vue').PropType<T[K]>;
27
+ required: true;
28
+ };
29
+ };
30
+ //# sourceMappingURL=AttachmentsPreview.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttachmentsPreview.vue.d.ts","sourceRoot":"","sources":["../../../src/components/input/AttachmentsPreview.vue"],"names":[],"mappings":"AA0DA;AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAI9E,UAAU,mBAAoB,SAAQ,cAAc;IAClD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,KAAK;IACb,WAAW,EAAE,mBAAmB,EAAE,CAAA;IAClC,EAAE,EAAE,WAAW,CAAA;IACf,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAA;IAC/C,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;CACnD;;;;;;AAmOD,wBAOG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { ChatInputUI, ChatInputTexts } from '../../types';
2
+
3
+ interface Props {
4
+ sending: boolean;
5
+ canSend: boolean;
6
+ supportRequestMode: boolean;
7
+ showSupportModeToggle: boolean;
8
+ ui: ChatInputUI;
9
+ texts?: ChatInputTexts;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ "toggle-support-mode": () => void;
13
+ click: () => void;
14
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
15
+ onClick?: (() => any) | undefined;
16
+ "onToggle-support-mode"?: (() => any) | undefined;
17
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
18
+ export default _default;
19
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
20
+ type __VLS_TypePropsToRuntimeProps<T> = {
21
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
22
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
23
+ } : {
24
+ type: import('vue').PropType<T[K]>;
25
+ required: true;
26
+ };
27
+ };
28
+ //# sourceMappingURL=InputActions.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputActions.vue.d.ts","sourceRoot":"","sources":["../../../src/components/input/InputActions.vue"],"names":[],"mappings":"AAmDA;AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAI9D,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,qBAAqB,EAAE,OAAO,CAAA;IAC9B,EAAE,EAAE,WAAW,CAAA;IACf,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB;;;;;;;;AAkOD,wBAOG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { ChatInputUI } from '../../types';
2
+
3
+ interface Suggestion {
4
+ id: string;
5
+ title: string;
6
+ description: string;
7
+ }
8
+ interface Props {
9
+ suggestions: Suggestion[];
10
+ selectedIndex: number;
11
+ ui: ChatInputUI;
12
+ }
13
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {
14
+ dropdownRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
15
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ select: (suggestion: Suggestion) => void;
17
+ hover: (index: number) => void;
18
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
19
+ onSelect?: ((suggestion: Suggestion) => any) | undefined;
20
+ onHover?: ((index: number) => any) | undefined;
21
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
22
+ export default _default;
23
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
24
+ type __VLS_TypePropsToRuntimeProps<T> = {
25
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
26
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
27
+ } : {
28
+ type: import('vue').PropType<T[K]>;
29
+ required: true;
30
+ };
31
+ };
32
+ //# sourceMappingURL=SuggestionsDropdown.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionsDropdown.vue.d.ts","sourceRoot":"","sources":["../../../src/components/input/SuggestionsDropdown.vue"],"names":[],"mappings":"AA4CA;AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAI9C,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,KAAK;IACb,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,EAAE,EAAE,WAAW,CAAA;CAChB;;;;;;;;;;AA6JD,wBAQG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { useMentionParsing, extractMentions, renderMentionsInHtml, detectMentionContext, buildMentionText, getMentionDisplayName, getMentionSubtitle, getMentionProvider, getActiveMentionProviders, formatMentionsForApi, groupMentionsByType } from './useMentionParsing';
2
+ export { useChatMarkdown, type UseChatMarkdownReturn } from './useChatMarkdown';
3
+ export { useChatScroll, type UseChatScrollReturn } from './useChatScroll';
4
+ export { useChatErrorHandling, type UseChatErrorHandlingReturn } from './useChatErrorHandling';
5
+ export { useAiContext } from './useAiContext';
6
+ export { useAiSuggestions } from './useAiSuggestions';
7
+ export { usePageAiContext } from './usePageAiContext';
8
+ export { useKeyboardShortcut, useAiDrawerShortcut, type UseKeyboardShortcutOptions } from './useKeyboardShortcut';
9
+ export { useLoadingText } from './useLoadingText';
10
+ export { useHistoryLimit } from './useHistoryLimit';
11
+ export { useFileAttachments, useMentionInput, useInputSuggestions, useTextareaResize } from './useChatInput';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC3Q,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AACjH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { PageContext } from '../types';
2
+
3
+ /**
4
+ * Composable for managing AI page context
5
+ */
6
+ export declare function useAiContext(): {
7
+ context: import('vue').ComputedRef<{
8
+ pageType: string;
9
+ entityId?: string | undefined;
10
+ entityType?: string | undefined;
11
+ metadata?: Record<string, any> | undefined;
12
+ routePath?: string | undefined;
13
+ } | null>;
14
+ setContext: (newContext: PageContext | null) => void;
15
+ clearContext: () => void;
16
+ updateContext: (partial: Partial<PageContext>) => void;
17
+ };
18
+ //# sourceMappingURL=useAiContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAiContext.d.ts","sourceRoot":"","sources":["../../src/composables/useAiContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C;;GAEG;AACH,wBAAgB,YAAY;;;;;;;;6BAKM,WAAW,GAAG,IAAI,KAAG,IAAI;wBAIhC,IAAI;6BAIG,OAAO,CAAC,WAAW,CAAC,KAAG,IAAI;EAoB5D"}
@@ -0,0 +1,11 @@
1
+ import { AISuggestion } from '../types';
2
+
3
+ /**
4
+ * Composable for getting context-aware AI suggestions
5
+ */
6
+ export declare function useAiSuggestions(): {
7
+ suggestions: import('vue').ComputedRef<AISuggestion[]>;
8
+ hasContextualSuggestions: import('vue').ComputedRef<boolean>;
9
+ resolvePrompt: (suggestion: AISuggestion) => string;
10
+ };
11
+ //# sourceMappingURL=useAiSuggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAiSuggestions.d.ts","sourceRoot":"","sources":["../../src/composables/useAiSuggestions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C;;GAEG;AACH,wBAAgB,gBAAgB;;;gCA8CK,YAAY,KAAG,MAAM;EAczD"}
@@ -0,0 +1,14 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { ChatError } from '../types';
3
+
4
+ export interface UseChatErrorHandlingReturn {
5
+ errorState: ComputedRef<ChatError>;
6
+ hasError: ComputedRef<boolean>;
7
+ retry: () => Promise<boolean>;
8
+ clearError: () => void;
9
+ }
10
+ /**
11
+ * Chat Error Handling Composable
12
+ */
13
+ export declare function useChatErrorHandling(): UseChatErrorHandlingReturn;
14
+ //# sourceMappingURL=useChatErrorHandling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatErrorHandling.d.ts","sourceRoot":"","sources":["../../src/composables/useChatErrorHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,KAAK,CAAA;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAClC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,0BAA0B,CAuBjE"}
@@ -0,0 +1,108 @@
1
+ import { ChatAttachment, MentionItem, MentionProvider } from '../types';
2
+
3
+ interface UploadingAttachment extends ChatAttachment {
4
+ uploading?: boolean;
5
+ progress?: number;
6
+ previewUrl?: string;
7
+ }
8
+ /**
9
+ * Composable for handling file attachments in chat input
10
+ */
11
+ export declare function useFileAttachments(): {
12
+ attachments: import('vue').Ref<{
13
+ uploading?: boolean | undefined;
14
+ progress?: number | undefined;
15
+ previewUrl?: string | undefined;
16
+ id: string;
17
+ name: string;
18
+ url?: string | undefined;
19
+ type?: string | undefined;
20
+ size?: number | undefined;
21
+ extractedText?: string | undefined;
22
+ }[], UploadingAttachment[] | {
23
+ uploading?: boolean | undefined;
24
+ progress?: number | undefined;
25
+ previewUrl?: string | undefined;
26
+ id: string;
27
+ name: string;
28
+ url?: string | undefined;
29
+ type?: string | undefined;
30
+ size?: number | undefined;
31
+ extractedText?: string | undefined;
32
+ }[]>;
33
+ isDraggingFiles: import('vue').Ref<boolean, boolean>;
34
+ hasAttachments: import('vue').ComputedRef<boolean>;
35
+ isUploading: import('vue').ComputedRef<boolean>;
36
+ canAddMore: import('vue').ComputedRef<boolean>;
37
+ acceptedFileTypes: string;
38
+ isImage: (file: UploadingAttachment) => boolean;
39
+ formatFileSize: (size?: number | string) => string;
40
+ removeAttachment: (id: string) => void;
41
+ clearAttachments: () => void;
42
+ buildPayload: () => ChatAttachment[];
43
+ processFiles: (fileList: FileList | File[] | null) => void;
44
+ handleFileSelect: (event: Event) => void;
45
+ handleDragEnter: (event: DragEvent) => void;
46
+ handleDragOver: (event: DragEvent) => void;
47
+ handleDragLeave: (event: DragEvent) => void;
48
+ handleDrop: (event: DragEvent) => void;
49
+ };
50
+ /**
51
+ * Composable for handling mentions in chat input
52
+ */
53
+ export declare function useMentionInput(getValue: () => string, setValue: (value: string) => void, getTextarea: () => HTMLTextAreaElement | null): {
54
+ showMentions: import('vue').Ref<boolean, boolean>;
55
+ mentionItems: import('vue').Ref<{
56
+ id: string;
57
+ type: string;
58
+ name?: string | undefined;
59
+ label?: string | undefined;
60
+ title?: string | undefined;
61
+ attributes?: (Record<string, any> | null) | undefined;
62
+ relationships?: (Record<string, any> | null) | undefined;
63
+ }[], MentionItem[] | {
64
+ id: string;
65
+ type: string;
66
+ name?: string | undefined;
67
+ label?: string | undefined;
68
+ title?: string | undefined;
69
+ attributes?: (Record<string, any> | null) | undefined;
70
+ relationships?: (Record<string, any> | null) | undefined;
71
+ }[]>;
72
+ selectedMentionIndex: import('vue').Ref<number, number>;
73
+ mentionProviders: import('vue').ComputedRef<MentionProvider[]>;
74
+ checkForMentions: (text: string) => void;
75
+ handleMentionSelect: (item: MentionItem) => void;
76
+ handleMentionKeyDown: (evt: KeyboardEvent) => boolean;
77
+ clearMentions: () => void;
78
+ getMentions: () => {
79
+ id: string;
80
+ name: string;
81
+ type?: string | undefined;
82
+ metadata?: (Record<string, any> | null) | undefined;
83
+ }[];
84
+ };
85
+ /**
86
+ * Composable for handling suggestions dropdown in chat input
87
+ */
88
+ export declare function useInputSuggestions<T extends {
89
+ id: string;
90
+ title: string;
91
+ description: string;
92
+ }>(getSuggestions: () => T[], getHasHistory: () => boolean, getIsFocused: () => boolean, getValue: () => string, onSelect: (suggestion: T) => void): {
93
+ showSuggestions: import('vue').Ref<boolean, boolean>;
94
+ selectedSuggestionIndex: import('vue').Ref<number, number>;
95
+ dropdownRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
96
+ handleSuggestionKeyDown: (evt: KeyboardEvent) => boolean;
97
+ handleSuggestionClick: (suggestion: T) => void;
98
+ updateSuggestionsVisibility: () => void;
99
+ hideSuggestions: () => void;
100
+ };
101
+ /**
102
+ * Composable for textarea auto-resize
103
+ */
104
+ export declare function useTextareaResize(getTextarea: () => HTMLTextAreaElement | null, maxHeight?: number): {
105
+ adjustTextareaHeight: () => void;
106
+ };
107
+ export {};
108
+ //# sourceMappingURL=useChatInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatInput.d.ts","sourceRoot":"","sources":["../../src/composables/useChatInput.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG5E,UAAU,mBAAoB,SAAQ,cAAc;IAChD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,wBAAgB,kBAAkB;;oBARlB,OAAO;mBACR,MAAM;qBACJ,MAAM;;;;;;;;oBAFP,OAAO;mBACR,MAAM;qBACJ,MAAM;;;;;;;;;;;;;oBAoBI,mBAAmB,KAAG,OAAO;4BAMrB,MAAM,GAAG,MAAM,KAAG,MAAM;2BA6DzB,MAAM;;wBAcX,cAAc,EAAE;6BAYT,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI;8BAuCvB,KAAK;6BAvBN,SAAS;4BAMV,SAAS;6BAIR,SAAS;wBAMd,SAAS;EA+CvC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,MAAM,MAAM,EACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,WAAW,EAAE,MAAM,mBAAmB,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;6BAab,MAAM;gCAuCH,WAAW;gCA6BX,aAAa,KAAG,OAAO;;;YA3EvB,MAAM;cAAQ,MAAM;eAAS,MAAM;oBAAa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;;EA+HhH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC5F,cAAc,EAAE,MAAM,CAAC,EAAE,EACzB,aAAa,EAAE,MAAM,OAAO,EAC5B,YAAY,EAAE,MAAM,OAAO,EAC3B,QAAQ,EAAE,MAAM,MAAM,EACtB,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI;;;;mCAiBK,aAAa,KAAG,OAAO;wCAkC5B,CAAC;;;EAiCrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,WAAW,EAAE,MAAM,mBAAmB,GAAG,IAAI,EAC7C,SAAS,GAAE,MAAY;;EAmB1B"}
@@ -0,0 +1,10 @@
1
+ export interface UseChatMarkdownReturn {
2
+ parseMarkdown: (text: string) => string;
3
+ }
4
+ /**
5
+ * Chat Markdown Composable
6
+ *
7
+ * Provides markdown parsing with XSS protection via DOMPurify sanitization.
8
+ */
9
+ export declare function useChatMarkdown(): UseChatMarkdownReturn;
10
+ //# sourceMappingURL=useChatMarkdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatMarkdown.d.ts","sourceRoot":"","sources":["../../src/composables/useChatMarkdown.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACxC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,qBAAqB,CAoCvD"}
@@ -0,0 +1,10 @@
1
+ export interface UseChatScrollReturn {
2
+ scrollToBottom: (container?: HTMLElement | null) => void;
3
+ setupAutoScroll: (container: HTMLElement) => void;
4
+ cleanupAutoScroll: () => void;
5
+ }
6
+ /**
7
+ * Chat Scroll Composable
8
+ */
9
+ export declare function useChatScroll(): UseChatScrollReturn;
10
+ //# sourceMappingURL=useChatScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatScroll.d.ts","sourceRoot":"","sources":["../../src/composables/useChatScroll.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IACxD,eAAe,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAA;IACjD,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,mBAAmB,CA0DnD"}
@@ -0,0 +1,37 @@
1
+ import { ChatAttachment, Mention, HistoryLimitConfig, AiChatDrawerTexts } from '../types';
2
+
3
+ interface UseHistoryLimitOptions {
4
+ getHistoryLength: () => number;
5
+ getStoreLimit: () => number;
6
+ getConfig: () => HistoryLimitConfig | undefined;
7
+ getTexts: () => AiChatDrawerTexts | undefined;
8
+ onStartNewChat: () => void;
9
+ onNewChatEmit: () => void;
10
+ }
11
+ /**
12
+ * Composable for managing chat history limit warnings and actions
13
+ */
14
+ export declare function useHistoryLimit(options: UseHistoryLimitOptions): {
15
+ showHistoryLimitWarning: import('vue').ComputedRef<boolean>;
16
+ historyLimitReached: import('vue').ComputedRef<boolean>;
17
+ historyLimit: import('vue').ComputedRef<number>;
18
+ remainingMessages: import('vue').ComputedRef<number>;
19
+ historyLimitDialogTitle: import('vue').ComputedRef<string>;
20
+ historyLimitDialogMessage: import('vue').ComputedRef<string>;
21
+ dismissHistoryLimitWarning: () => void;
22
+ handleHistoryLimitAction: () => Promise<{
23
+ message: string;
24
+ attachments: ChatAttachment[];
25
+ mentions: Mention[];
26
+ isSupportRequest?: boolean;
27
+ } | null>;
28
+ checkHistoryLimit: () => boolean;
29
+ setPendingMessage: (msg: {
30
+ message: string;
31
+ attachments: ChatAttachment[];
32
+ mentions: Mention[];
33
+ isSupportRequest?: boolean;
34
+ }) => void;
35
+ };
36
+ export {};
37
+ //# sourceMappingURL=useHistoryLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHistoryLimit.d.ts","sourceRoot":"","sources":["../../src/composables/useHistoryLimit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAa9F,UAAU,sBAAsB;IAC5B,gBAAgB,EAAE,MAAM,MAAM,CAAA;IAC9B,aAAa,EAAE,MAAM,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,kBAAkB,GAAG,SAAS,CAAA;IAC/C,QAAQ,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAA;IAC7C,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB;;;;;;;;oCA+C5B,OAAO,CAAC;QACnC,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,cAAc,EAAE,CAAA;QAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC7B,GAAG,IAAI,CAAC;6BAgCS,OAAO;6BAiBO;QAC5B,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,cAAc,EAAE,CAAA;QAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC7B;EAqBJ"}
@@ -0,0 +1,14 @@
1
+ export interface UseKeyboardShortcutOptions {
2
+ shortcut?: string | null;
3
+ onToggle: () => void;
4
+ enabled?: boolean;
5
+ }
6
+ export declare function useKeyboardShortcut(options: UseKeyboardShortcutOptions): {
7
+ isActive: import('vue').Ref<boolean, boolean>;
8
+ };
9
+ export declare function useAiDrawerShortcut(drawerRef: {
10
+ value: boolean;
11
+ }): {
12
+ isActive: import('vue').Ref<boolean, boolean>;
13
+ };
14
+ //# sourceMappingURL=useKeyboardShortcut.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardShortcut.d.ts","sourceRoot":"","sources":["../../src/composables/useKeyboardShortcut.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAoCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;;EAmDtE;AAGD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE;;EAMhE"}
@@ -0,0 +1,12 @@
1
+ import { LoadingTextConfig } from '../types';
2
+
3
+ /**
4
+ * Composable for managing dynamic loading text during AI responses
5
+ */
6
+ export declare function useLoadingText(getSending: () => boolean, getConfig?: () => LoadingTextConfig | undefined): {
7
+ loadingMessage: import('vue').Ref<string, string>;
8
+ startLoadingText: () => void;
9
+ resetLoadingText: () => void;
10
+ clearLoadingTextTimers: () => void;
11
+ };
12
+ //# sourceMappingURL=useLoadingText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadingText.d.ts","sourceRoot":"","sources":["../../src/composables/useLoadingText.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD;;GAEG;AACH,wBAAgB,cAAc,CAC1B,UAAU,EAAE,MAAM,OAAO,EACzB,SAAS,CAAC,EAAE,MAAM,iBAAiB,GAAG,SAAS;;;;;EAgElD"}
@@ -0,0 +1,67 @@
1
+ import { Mention, MentionItem, MentionContext, MentionParseResult, MentionProvider } from '../types';
2
+
3
+ /**
4
+ * Extract mentions from text in the format @[Name](id)
5
+ */
6
+ export declare function extractMentions(text: string): MentionParseResult;
7
+ /**
8
+ * Parse message and return clean text without mention markers
9
+ */
10
+ export declare function parseAndCleanMessage(text: string): string;
11
+ /**
12
+ * Convert @mentions to styled HTML spans
13
+ */
14
+ export declare function renderMentionsInHtml(text: string): string;
15
+ /**
16
+ * Check if cursor is in a mention context
17
+ */
18
+ export declare function detectMentionContext(text: string, cursorPos: number): MentionContext;
19
+ /**
20
+ * Get display name for a mention item
21
+ */
22
+ export declare function getMentionDisplayName(item: MentionItem, provider?: MentionProvider): string;
23
+ /**
24
+ * Get subtitle for a mention item
25
+ */
26
+ export declare function getMentionSubtitle(item: MentionItem, provider?: MentionProvider): string | null;
27
+ /**
28
+ * Build mention text
29
+ */
30
+ export declare function buildMentionText(item: MentionItem, provider?: MentionProvider): string;
31
+ /**
32
+ * Get mention provider for a type
33
+ */
34
+ export declare function getMentionProvider(type: string): MentionProvider | undefined;
35
+ /**
36
+ * Get all active mention providers for current route
37
+ */
38
+ export declare function getActiveMentionProviders(routePath?: string): MentionProvider[];
39
+ /**
40
+ * Format mentions for API request (Laravel Restify format)
41
+ */
42
+ export declare function formatMentionsForApi(mentions: Mention[]): Array<{
43
+ type: string;
44
+ id: string;
45
+ name: string;
46
+ }>;
47
+ /**
48
+ * Group mentions by type for display
49
+ */
50
+ export declare function groupMentionsByType(mentions: Mention[]): Record<string, Mention[]>;
51
+ /**
52
+ * Composable for mention parsing utilities
53
+ */
54
+ export declare function useMentionParsing(): {
55
+ extractMentions: typeof extractMentions;
56
+ parseAndCleanMessage: typeof parseAndCleanMessage;
57
+ renderMentionsInHtml: typeof renderMentionsInHtml;
58
+ detectMentionContext: typeof detectMentionContext;
59
+ getMentionDisplayName: typeof getMentionDisplayName;
60
+ getMentionSubtitle: typeof getMentionSubtitle;
61
+ buildMentionText: typeof buildMentionText;
62
+ getMentionProvider: typeof getMentionProvider;
63
+ getActiveMentionProviders: typeof getActiveMentionProviders;
64
+ formatMentionsForApi: typeof formatMentionsForApi;
65
+ groupMentionsByType: typeof groupMentionsByType;
66
+ };
67
+ //# sourceMappingURL=useMentionParsing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMentionParsing.d.ts","sourceRoot":"","sources":["../../src/composables/useMentionParsing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGzG;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAsBhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAiBpF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAK3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAK/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAMtF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAG5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAiB/E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAM3G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CASlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB;;;;;;;;;;;;EAchC"}
@@ -0,0 +1,24 @@
1
+ import { Ref } from 'vue';
2
+
3
+ /**
4
+ * Auto-setup composable for page AI context
5
+ *
6
+ * @param pageType - The type of page (e.g., 'users', 'products')
7
+ * @param dynamicMetadata - Optional reactive metadata
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * // Simple usage
12
+ * usePageAiContext('users')
13
+ *
14
+ * // With dynamic metadata
15
+ * usePageAiContext('users', {
16
+ * userId: computed(() => route.params.id),
17
+ * userName: computed(() => user.value?.name)
18
+ * })
19
+ * ```
20
+ */
21
+ export declare function usePageAiContext(pageType: string, dynamicMetadata?: Record<string, any | Ref<any>>): {
22
+ setupContext: () => void;
23
+ };
24
+ //# sourceMappingURL=usePageAiContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageAiContext.d.ts","sourceRoot":"","sources":["../../src/composables/usePageAiContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,GAAG,EAAS,MAAM,KAAK,CAAA;AAIpE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAC/C;IAAE,YAAY,EAAE,MAAM,IAAI,CAAA;CAAE,CA+C9B"}
@@ -0,0 +1,2 @@
1
+ export { useAiSuggestions as useSuggestions } from './useAiSuggestions';
2
+ //# sourceMappingURL=useSuggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSuggestions.d.ts","sourceRoot":"","sources":["../../src/composables/useSuggestions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { Ref } from 'vue';
2
+ import { RestifyAiConfig, RestifyAiLabels } from './types';
3
+
4
+ export declare const defaultLabels: Required<RestifyAiLabels>;
5
+ export declare function setRestifyAiConfig(config: RestifyAiConfig): void;
6
+ export declare function getRestifyAiConfig(): RestifyAiConfig | null;
7
+ export declare function getRestifyAiConfigOrThrow(): RestifyAiConfig;
8
+ export declare function useRestifyAiConfig(): Ref<RestifyAiConfig | null>;
9
+ export declare function isConfigured(): boolean;
10
+ export declare function getLabel(key: keyof RestifyAiLabels, params?: Record<string, any>): string;
11
+ export declare function getDefaultConfigValue<K extends keyof RestifyAiConfig>(key: K): RestifyAiConfig[K] | undefined;
12
+ export declare function getConfigValue<K extends keyof RestifyAiConfig>(key: K): RestifyAiConfig[K] | undefined;
13
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK/D,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,eAAe,CAqDnD,CAAA;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAGhE;AAED,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,yBAAyB,IAAI,eAAe,CAQ3D;AAED,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,CAEhE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAqBzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,EACnE,GAAG,EAAE,CAAC,GACL,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAYhC;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,eAAe,EAC5D,GAAG,EAAE,CAAC,GACL,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAMhC"}