vibefast-cli 0.7.1 → 0.7.3

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 (84) hide show
  1. package/dist/core/__tests__/fsx.test.js +3 -2
  2. package/dist/core/__tests__/fsx.test.js.map +1 -1
  3. package/dist/core/__tests__/hash.test.js +3 -2
  4. package/dist/core/__tests__/hash.test.js.map +1 -1
  5. package/package.json +1 -1
  6. package/recipes/animated-chip@latest.zip +0 -0
  7. package/recipes/animated-switch@latest.zip +0 -0
  8. package/recipes/audio-recorder/recipe.json +2 -2
  9. package/recipes/audio-recorder@latest.zip +0 -0
  10. package/recipes/charts/apps/native/src/app/charts/index.tsx +3 -3
  11. package/recipes/charts/apps/native/src/features/charts/app/preview.tsx +3 -3
  12. package/recipes/charts/apps/native/src/features/charts/components/area-chart.tsx +3 -3
  13. package/recipes/charts/apps/native/src/features/charts/components/bar-chart.tsx +3 -3
  14. package/recipes/charts/apps/native/src/features/charts/components/candlestick-chart.tsx +3 -3
  15. package/recipes/charts/apps/native/src/features/charts/components/chart-card.tsx +3 -3
  16. package/recipes/charts/apps/native/src/features/charts/components/column-chart.tsx +3 -3
  17. package/recipes/charts/apps/native/src/features/charts/components/doughnut-chart.tsx +3 -3
  18. package/recipes/charts/apps/native/src/features/charts/components/index.ts +3 -3
  19. package/recipes/charts/apps/native/src/features/charts/components/line-chart.tsx +3 -3
  20. package/recipes/charts/apps/native/src/features/charts/components/radar-chart.tsx +3 -3
  21. package/recipes/charts/apps/native/src/features/charts/components/radial-bar-chart.tsx +3 -3
  22. package/recipes/charts/apps/native/src/features/charts/components/stacked-area-chart.tsx +3 -3
  23. package/recipes/charts/apps/native/src/features/charts/components/stacked-bar-chart.tsx +3 -3
  24. package/recipes/charts/apps/native/src/features/charts/data/mock-data.ts +3 -3
  25. package/recipes/charts/apps/native/src/features/charts/types/index.ts +3 -3
  26. package/recipes/charts/recipe.json +2 -2
  27. package/recipes/charts@latest.zip +0 -0
  28. package/recipes/chatbot/apps/native/src/app/chatbot/index.tsx +1 -1
  29. package/recipes/chatbot/apps/native/src/features/chatbot/app/index.tsx +1 -1
  30. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-header-buttons.tsx +1 -1
  31. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-input-bar.tsx +1 -1
  32. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-markdown.tsx +1 -1
  33. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-message-bubble.tsx +1 -1
  34. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-settings-modal.tsx +1 -1
  35. package/recipes/chatbot/apps/native/src/features/chatbot/components/image-preview-list.tsx +1 -1
  36. package/recipes/chatbot/apps/native/src/features/chatbot/components/markdown/code-block.tsx +1 -1
  37. package/recipes/chatbot/apps/native/src/features/chatbot/components/markdown/index.ts +1 -1
  38. package/recipes/chatbot/apps/native/src/features/chatbot/components/markdown/table-renderer.tsx +1 -1
  39. package/recipes/chatbot/apps/native/src/features/chatbot/components/message-error-boundary.tsx +1 -1
  40. package/recipes/chatbot/apps/native/src/features/chatbot/components/message-list.tsx +1 -1
  41. package/recipes/chatbot/apps/native/src/features/chatbot/components/model-selector.tsx +1 -1
  42. package/recipes/chatbot/apps/native/src/features/chatbot/components/report-content-modal.tsx +1 -1
  43. package/recipes/chatbot/apps/native/src/features/chatbot/components/suggested-messages.tsx +1 -1
  44. package/recipes/chatbot/apps/native/src/features/chatbot/constants/models.ts +1 -1
  45. package/recipes/chatbot/apps/native/src/features/chatbot/constants/report-reasons.ts +1 -1
  46. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-attachment-cache.ts +1 -1
  47. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-chat-config.ts +1 -1
  48. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-chat-handlers.ts +1 -1
  49. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-chatbot-settings.ts +1 -1
  50. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-conversation.ts +1 -1
  51. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-image-picker.ts +1 -1
  52. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-keyboard-coordinator.ts +1 -1
  53. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-smart-scroll-manager.ts +1 -1
  54. package/recipes/chatbot/apps/native/src/features/chatbot/models/index.ts +1 -1
  55. package/recipes/chatbot/apps/native/src/features/chatbot/models/models.ts +1 -1
  56. package/recipes/chatbot/apps/native/src/features/chatbot/models/providers.ts +1 -1
  57. package/recipes/chatbot/apps/native/src/features/chatbot/models/types.ts +1 -1
  58. package/recipes/chatbot/apps/native/src/features/chatbot/services/file-uploader.ts +1 -1
  59. package/recipes/chatbot/apps/native/src/features/chatbot/services/message-handler-service.ts +1 -1
  60. package/recipes/chatbot/apps/native/src/features/chatbot/types/index.ts +1 -1
  61. package/recipes/chatbot/apps/native/src/features/chatbot/utils/chat-telemetry.ts +1 -1
  62. package/recipes/chatbot/recipe.json +1 -1
  63. package/recipes/chatbot@latest.zip +0 -0
  64. package/recipes/glowing-button@latest.zip +0 -0
  65. package/recipes/image-analysis/recipe.json +2 -2
  66. package/recipes/image-analysis@latest.zip +0 -0
  67. package/recipes/image-generator/recipe.json +3 -3
  68. package/recipes/image-generator@latest.zip +0 -0
  69. package/recipes/ios-widget@latest.zip +0 -0
  70. package/recipes/number-stepper@latest.zip +0 -0
  71. package/recipes/payments@latest.zip +0 -0
  72. package/recipes/progress-circle@latest.zip +0 -0
  73. package/recipes/quiz/recipe.json +2 -2
  74. package/recipes/quiz@latest.zip +0 -0
  75. package/recipes/swipe-slider@latest.zip +0 -0
  76. package/recipes/timeline@latest.zip +0 -0
  77. package/recipes/tracker-app/recipe.json +2 -2
  78. package/recipes/tracker-app@latest.zip +0 -0
  79. package/recipes/upload-all.sh +1 -1
  80. package/recipes/voice-bot/recipe.json +1 -1
  81. package/recipes/voice-bot@latest.zip +0 -0
  82. package/recipes/wake-word@latest.zip +0 -0
  83. package/src/core/__tests__/fsx.test.ts +3 -2
  84. package/src/core/__tests__/hash.test.ts +3 -2
@@ -3,12 +3,13 @@ import { copyTree, exists } from '../fsx.js';
3
3
  import { writeFile, mkdir, rm } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { tmpdir } from 'os';
6
- describe('fsx', () => {
6
+ import { randomUUID } from 'crypto';
7
+ describe.sequential('fsx', () => {
7
8
  let testDir;
8
9
  let srcDir;
9
10
  let destDir;
10
11
  beforeEach(async () => {
11
- testDir = join(tmpdir(), `vibefast-test-${Date.now()}`);
12
+ testDir = join(tmpdir(), `vibefast-test-${Date.now()}-${randomUUID()}`);
12
13
  srcDir = join(testDir, 'src');
13
14
  destDir = join(testDir, 'dest');
14
15
  await mkdir(srcDir, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"fsx.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/fsx.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fsx.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/fsx.test.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ import { hashFile, hashFiles } from '../hash.js';
3
3
  import { writeFile, mkdir, rm } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { tmpdir } from 'os';
6
- describe('hash', () => {
6
+ import { randomUUID } from 'crypto';
7
+ describe.sequential('hash', () => {
7
8
  let testDir;
8
9
  beforeEach(async () => {
9
- testDir = join(tmpdir(), `vibefast-test-${Date.now()}`);
10
+ testDir = join(tmpdir(), `vibefast-test-${Date.now()}-${randomUUID()}`);
10
11
  await mkdir(testDir, { recursive: true });
11
12
  });
12
13
  afterEach(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/hash.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/hash.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibefast-cli",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "CLI for installing VibeFast features into your monorepo",
5
5
  "type": "module",
6
6
  "bin": {
Binary file
Binary file
@@ -4,7 +4,7 @@
4
4
  "description": "Record and manage voice notes",
5
5
  "copy": [
6
6
  {
7
- "from": "apps/native/src/app/audio-recorder",
7
+ "from": "apps/native/src/app/(root)/(protected)/audio-recorder",
8
8
  "to": "apps/native/src/app/(root)/(protected)/audio-recorder"
9
9
  },
10
10
  {
@@ -19,4 +19,4 @@
19
19
  "color": "#EF4444"
20
20
  },
21
21
  "target": "native"
22
- }
22
+ }
Binary file
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import ChartPreviewScreen from '@/features/charts/app/preview';
5
5
 
6
6
  export default ChartPreviewScreen;
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import type React from 'react';
5
5
  import { FlatList } from 'react-native';
6
6
 
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import type { ViewStyle } from 'react-native';
5
5
 
6
6
  import { LineChart } from './line-chart';
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import { Canvas, Group, RoundedRect } from '@shopify/react-native-skia';
5
5
  import React, { useEffect, useState } from 'react';
6
6
  import { type LayoutChangeEvent, View, type ViewStyle } from 'react-native';
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import {
5
5
  Canvas,
6
6
  Group,
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import type React from 'react';
5
5
  import { Dimensions, View } from 'react-native';
6
6
 
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import { Canvas, Group, RoundedRect } from '@shopify/react-native-skia';
5
5
  import React, { useEffect, useState } from 'react';
6
6
  import { type LayoutChangeEvent, View, type ViewStyle } from 'react-native';
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import {
5
5
  Canvas,
6
6
  Group,
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  export { AreaChart } from './area-chart';
5
5
  export { BarChart } from './bar-chart';
6
6
  export { CandlestickChart } from './candlestick-chart';
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import {
5
5
  Canvas,
6
6
  Circle,
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import {
5
5
  Canvas,
6
6
  Circle as SkCircle,
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import {
5
5
  Canvas,
6
6
  Group,
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import {
5
5
  Canvas,
6
6
  Group,
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  import { Canvas, Group, RoundedRect } from '@shopify/react-native-skia';
5
5
  import React, { useEffect, useState } from 'react';
6
6
  import { type LayoutChangeEvent, View, type ViewStyle } from 'react-native';
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  export const salesData = [
5
5
  { id: '1', label: 'Jan', value: 3500, color: '#3B82F6' },
6
6
  { id: '2', label: 'Feb', value: 4200, color: '#10B981' },
@@ -1,6 +1,6 @@
1
- // vibefast license: c1e9fcd2-muhammad
2
- // vibefast license: c1e9fcd2-muhammad
3
- // vibefast license: c1e9fcd2-muhammad
1
+
2
+
3
+
4
4
  export type ChartData = {
5
5
  value: number;
6
6
  label: string;
@@ -4,7 +4,7 @@
4
4
  "description": "Beautiful data visualization with charts",
5
5
  "copy": [
6
6
  {
7
- "from": "apps/native/src/app/charts",
7
+ "from": "apps/native/src/app/(root)/(protected)/charts",
8
8
  "to": "apps/native/src/app/(root)/(protected)/charts"
9
9
  },
10
10
  {
@@ -25,4 +25,4 @@
25
25
  "react-native-svg"
26
26
  ]
27
27
  }
28
- }
28
+ }
Binary file
@@ -1,2 +1,2 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  export { default } from '@/features/chatbot/app';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { useAuthToken } from '@convex-dev/auth/react';
3
3
  import { api } from '@vibefast/backend/_generated/api';
4
4
  import type { Id } from '@vibefast/backend/_generated/dataModel';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type React from 'react';
3
3
  import { View } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { AntDesign, Feather } from '@expo/vector-icons';
3
3
  import type React from 'react';
4
4
  import { useCallback, useMemo, useRef, useState } from 'react';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  /**
3
3
  * ChatMarkdown component for rendering markdown content in chat messages.
4
4
  *
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { Feather, Ionicons } from '@expo/vector-icons';
3
3
  import type { Id } from '@vibefast/backend/_generated/dataModel';
4
4
  import type { Message } from 'ai'; // Base Message type
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { Feather } from '@expo/vector-icons';
3
3
  import type React from 'react';
4
4
  import { ActivityIndicator, ScrollView, View } from 'react-native';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { Feather } from '@expo/vector-icons';
3
3
  import React, { useCallback, useState } from 'react';
4
4
  import {
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  /**
3
3
  * Markdown rendering components for chatbot messages.
4
4
  *
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import React from 'react';
3
3
  import { ScrollView, View, type ViewStyle } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { FlashListRef } from '@shopify/flash-list';
3
3
  import { FlashList } from '@shopify/flash-list';
4
4
  import type { Message } from 'ai';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { Feather } from '@expo/vector-icons';
3
3
  import type React from 'react';
4
4
  import { Alert, ScrollView, View } from 'react-native';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import React, { useState } from 'react';
3
3
  import { View } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type React from 'react';
3
3
  import { useCallback } from 'react';
4
4
  import { ScrollView, View } from 'react-native';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  // DEPRECATED: This file has been moved to src/features/chatbot/models/
3
3
  // Please import from '@/features/chatbot/models' instead
4
4
  // This file is kept for backward compatibility
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  export const REPORT_REASONS = [
3
3
  { label: 'Inaccurate Information', value: 'inaccurate' },
4
4
  { label: 'Offensive Content', value: 'offensive' },
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { Id } from '@vibefast/backend/_generated/dataModel';
3
3
  import { useCallback, useEffect, useRef } from 'react';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { Id } from '@vibefast/backend/_generated/dataModel';
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { Id } from '@vibefast/backend/_generated/dataModel';
3
3
  import React, { useCallback, useMemo, useState } from 'react';
4
4
  import { Alert, Keyboard } from 'react-native';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { useCallback, useEffect, useState } from 'react';
3
3
 
4
4
  import { defaultCacheService } from '@/core/cache';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { Id } from '@vibefast/backend/_generated/dataModel';
3
3
  import { useEffect, useMemo, useState } from 'react';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import * as ImagePicker from 'expo-image-picker';
3
3
  import { useCallback } from 'react';
4
4
  import { Alert } from 'react-native';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { useCallback, useEffect, useRef } from 'react';
3
3
  import { Keyboard } from 'react-native';
4
4
  import {
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { FlashListRef } from '@shopify/flash-list';
3
3
  import { useCallback, useEffect, useMemo, useRef } from 'react';
4
4
  import type { NativeScrollEvent, NativeSyntheticEvent } from 'react-native';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  // Import directly to avoid circular dependencies
3
3
  import { DEFAULT_MODELS, MODELS } from './models';
4
4
  import type { ModelConfig, ModelId, Provider } from './types';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { ModelConfig, Provider } from './types';
3
3
 
4
4
  export const MODELS: ModelConfig[] = [
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type React from 'react';
3
3
 
4
4
  import { ClaudeIcon } from '@/components/ui/icons/claude';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  export type Provider = 'claude' | 'openai' | 'gemini';
3
3
 
4
4
  export type ModelCategory = 'free' | 'premium' | 'specialized';
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import { manipulateAsync, SaveFormat } from 'expo-image-manipulator';
3
3
  import { Image } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { Id } from '@vibefast/backend/_generated/dataModel';
3
3
  import { Alert } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { Id } from '@vibefast/backend/_generated/dataModel';
3
3
  import type { Message } from 'ai';
4
4
 
@@ -1,4 +1,4 @@
1
- // vibefast license: c1e9fcd2-muhammad
1
+
2
2
  import type { TelemetryMode } from '@/core/config';
3
3
  import { getChatTelemetryMode } from '@/core/config/telemetry';
4
4
 
@@ -4,7 +4,7 @@
4
4
  "description": "AI-powered chat assistant",
5
5
  "copy": [
6
6
  {
7
- "from": "apps/native/src/app/chatbot",
7
+ "from": "apps/native/src/app/(root)/(protected)/chatbot",
8
8
  "to": "apps/native/src/app/(root)/(protected)/chatbot"
9
9
  },
10
10
  {
Binary file
Binary file
@@ -24,8 +24,8 @@
24
24
  "to": "packages/backend/convex/imageAnalysis"
25
25
  },
26
26
  {
27
- "from": "packages/backend/convex/imageAnalysisFunctions.ts",
28
- "to": "packages/backend/convex/imageAnalysisFunctions.ts"
27
+ "from": "packages/backend/convex/imageAnalysis.ts",
28
+ "to": "packages/backend/convex/imageAnalysis.ts"
29
29
  },
30
30
  {
31
31
  "from": "packages/backend/convex/lib/ai/imageAnalysisAdapter.ts",
Binary file
@@ -4,7 +4,7 @@
4
4
  "description": "AI-powered image generation",
5
5
  "copy": [
6
6
  {
7
- "from": "apps/native/src/app/image-generator",
7
+ "from": "apps/native/src/app/(root)/(protected)/image-generator",
8
8
  "to": "apps/native/src/app/(root)/(protected)/image-generator"
9
9
  },
10
10
  {
@@ -16,8 +16,8 @@
16
16
  "to": "packages/backend/convex/imageGeneration/index.ts"
17
17
  },
18
18
  {
19
- "from": "packages/backend/convex/imageGeneratorFunctions.ts",
20
- "to": "packages/backend/convex/imageGeneratorFunctions.ts"
19
+ "from": "packages/backend/convex/imageGenerator.ts",
20
+ "to": "packages/backend/convex/imageGenerator.ts"
21
21
  }
22
22
  ],
23
23
  "nav": {
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -4,7 +4,7 @@
4
4
  "description": "Interactive quiz feature",
5
5
  "copy": [
6
6
  {
7
- "from": "apps/native/src/app/quiz",
7
+ "from": "apps/native/src/app/(root)/(protected)/quiz",
8
8
  "to": "apps/native/src/app/(root)/(protected)/quiz"
9
9
  },
10
10
  {
@@ -19,4 +19,4 @@
19
19
  "color": "#F97316"
20
20
  },
21
21
  "target": "native"
22
- }
22
+ }
Binary file
Binary file
Binary file
@@ -4,7 +4,7 @@
4
4
  "description": "Track habits and activities",
5
5
  "copy": [
6
6
  {
7
- "from": "apps/native/src/app/tracker-app",
7
+ "from": "apps/native/src/app/(root)/(protected)/tracker-app",
8
8
  "to": "apps/native/src/app/(root)/(protected)/tracker-app"
9
9
  },
10
10
  {
@@ -19,4 +19,4 @@
19
19
  "color": "#06B6D4"
20
20
  },
21
21
  "target": "native"
22
- }
22
+ }
Binary file
@@ -26,7 +26,7 @@ recipes=(
26
26
 
27
27
  for recipe in "${recipes[@]}"; do
28
28
  echo "Uploading ${recipe}@latest.zip..."
29
- wrangler r2 object put vibefast-recipes/${recipe}@latest.zip --file=${recipe}@latest.zip --remote
29
+ npx wrangler r2 object put vibefast-recipes/${recipe}@latest.zip --file=${recipe}@latest.zip --remote
30
30
  if [ $? -eq 0 ]; then
31
31
  echo "✓ ${recipe} uploaded"
32
32
  else
@@ -4,7 +4,7 @@
4
4
  "description": "Real-time voice conversations with AI",
5
5
  "copy": [
6
6
  {
7
- "from": "apps/native/src/app/voice-bot",
7
+ "from": "apps/native/src/app/(root)/(protected)/voice-bot",
8
8
  "to": "apps/native/src/app/(root)/(protected)/voice-bot"
9
9
  },
10
10
  {
Binary file
Binary file
@@ -3,14 +3,15 @@ import { copyTree, exists } from '../fsx.js';
3
3
  import { writeFile, mkdir, rm } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { tmpdir } from 'os';
6
+ import { randomUUID } from 'crypto';
6
7
 
7
- describe('fsx', () => {
8
+ describe.sequential('fsx', () => {
8
9
  let testDir: string;
9
10
  let srcDir: string;
10
11
  let destDir: string;
11
12
 
12
13
  beforeEach(async () => {
13
- testDir = join(tmpdir(), `vibefast-test-${Date.now()}`);
14
+ testDir = join(tmpdir(), `vibefast-test-${Date.now()}-${randomUUID()}`);
14
15
  srcDir = join(testDir, 'src');
15
16
  destDir = join(testDir, 'dest');
16
17
 
@@ -3,12 +3,13 @@ import { hashFile, hashFiles } from '../hash.js';
3
3
  import { writeFile, unlink, mkdir, rm } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { tmpdir } from 'os';
6
+ import { randomUUID } from 'crypto';
6
7
 
7
- describe('hash', () => {
8
+ describe.sequential('hash', () => {
8
9
  let testDir: string;
9
10
 
10
11
  beforeEach(async () => {
11
- testDir = join(tmpdir(), `vibefast-test-${Date.now()}`);
12
+ testDir = join(tmpdir(), `vibefast-test-${Date.now()}-${randomUUID()}`);
12
13
  await mkdir(testDir, { recursive: true });
13
14
  });
14
15