@promptbook/cli 0.104.0-3 → 0.104.0-5

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 (44) hide show
  1. package/apps/agents-server/src/app/admin/messages/MessagesClient.tsx +294 -0
  2. package/apps/agents-server/src/app/admin/messages/page.tsx +13 -0
  3. package/apps/agents-server/src/app/admin/messages/send-email/SendEmailClient.tsx +104 -0
  4. package/apps/agents-server/src/app/admin/messages/send-email/actions.ts +35 -0
  5. package/apps/agents-server/src/app/admin/messages/send-email/page.tsx +13 -0
  6. package/apps/agents-server/src/app/agents/[agentName]/api/profile/route.ts +4 -0
  7. package/apps/agents-server/src/app/agents/[agentName]/images/default-avatar.png/route.ts +139 -0
  8. package/apps/agents-server/src/app/api/messages/route.ts +102 -0
  9. package/apps/agents-server/src/components/Header/Header.tsx +4 -0
  10. package/apps/agents-server/src/database/$provideSupabaseForBrowser.ts +3 -3
  11. package/apps/agents-server/src/database/$provideSupabaseForServer.ts +1 -1
  12. package/apps/agents-server/src/database/$provideSupabaseForWorker.ts +3 -3
  13. package/apps/agents-server/src/database/migrate.ts +34 -1
  14. package/apps/agents-server/src/database/migrations/2025-11-0001-initial-schema.sql +1 -3
  15. package/apps/agents-server/src/database/migrations/2025-11-0002-metadata-table.sql +1 -3
  16. package/apps/agents-server/src/database/migrations/2025-12-0402-message-table.sql +42 -0
  17. package/apps/agents-server/src/database/schema.ts +95 -4
  18. package/apps/agents-server/src/message-providers/email/_common/Email.ts +73 -0
  19. package/apps/agents-server/src/message-providers/email/_common/utils/TODO.txt +1 -0
  20. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddress.test.ts.todo +108 -0
  21. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddress.ts +62 -0
  22. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddresses.test.ts.todo +117 -0
  23. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddresses.ts +19 -0
  24. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddress.test.ts.todo +119 -0
  25. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddress.ts +19 -0
  26. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddresses.test.ts.todo +74 -0
  27. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddresses.ts +14 -0
  28. package/apps/agents-server/src/message-providers/email/sendgrid/SendgridMessageProvider.ts +44 -0
  29. package/apps/agents-server/src/message-providers/email/zeptomail/ZeptomailMessageProvider.ts +51 -0
  30. package/apps/agents-server/src/message-providers/index.ts +13 -0
  31. package/apps/agents-server/src/message-providers/interfaces/MessageProvider.ts +11 -0
  32. package/apps/agents-server/src/utils/messages/sendMessage.ts +91 -0
  33. package/apps/agents-server/src/utils/messagesAdmin.ts +72 -0
  34. package/apps/agents-server/src/utils/normalization/filenameToPrompt.test.ts +36 -0
  35. package/apps/agents-server/src/utils/normalization/filenameToPrompt.ts +6 -2
  36. package/esm/index.es.js +8098 -8067
  37. package/esm/index.es.js.map +1 -1
  38. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +18 -15
  39. package/esm/typings/src/llm-providers/_multiple/MultipleLlmExecutionTools.d.ts +6 -2
  40. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +1 -0
  41. package/esm/typings/src/version.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/umd/index.umd.js +8114 -8083
  44. package/umd/index.umd.js.map +1 -1
@@ -0,0 +1,36 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { filenameToPrompt } from './filenameToPrompt';
3
+
4
+ describe('how filenameToPrompt works', () => {
5
+ it('will convert filename with dashes', () => {
6
+ expect(filenameToPrompt('cat-sitting-on-keyboard.png')).toEqual('Cat sitting on keyboard');
7
+ expect(filenameToPrompt('hello-world.jpg')).toEqual('Hello world');
8
+ });
9
+
10
+ it('will convert filename with underscores', () => {
11
+ expect(filenameToPrompt('cat_sitting_on_keyboard.png')).toEqual('Cat sitting on keyboard');
12
+ expect(filenameToPrompt('hello_world.jpg')).toEqual('Hello world');
13
+ });
14
+
15
+ it('will convert filename with mixed separators', () => {
16
+ expect(filenameToPrompt('cat-sitting_on-keyboard.png')).toEqual('Cat sitting on keyboard');
17
+ });
18
+
19
+ it('will handle single word filename', () => {
20
+ expect(filenameToPrompt('cat.png')).toEqual('Cat');
21
+ expect(filenameToPrompt('HELLO.jpg')).toEqual('HELLO');
22
+ });
23
+
24
+ it('will handle filename without extension', () => {
25
+ expect(filenameToPrompt('cat-sitting-on-keyboard')).toEqual('Cat sitting on keyboard');
26
+ });
27
+
28
+ it('will handle filename with multiple dots', () => {
29
+ expect(filenameToPrompt('cat.sitting.on.keyboard.png')).toEqual('Cat.sitting.on.keyboard');
30
+ });
31
+
32
+ it('will handle capitalized words after first word', () => {
33
+ expect(filenameToPrompt('Cat-Sitting-On-Keyboard.png')).toEqual('Cat sitting on keyboard');
34
+ expect(filenameToPrompt('HELLO-WORLD.png')).toEqual('HELLO world');
35
+ });
36
+ });
@@ -1,4 +1,4 @@
1
- import { capitalize } from '../../../../../src/utils/normalization/capitalize';
1
+ import { capitalize } from '@promptbook/utils';
2
2
 
3
3
  /**
4
4
  * Converts a filename like "cat-sitting-on-keyboard.png" to a prompt like "Cat sitting on keyboard"
@@ -15,7 +15,11 @@ export function filenameToPrompt(filename: string): string {
15
15
 
16
16
  // Capitalize each word
17
17
  const words = withSpaces.split(' ');
18
- const capitalizedWords = words.map(word => capitalize(word));
18
+ const capitalizedWords = words.map((word, index) => (index === 0 ? capitalize(word) : word.toLowerCase()));
19
19
 
20
20
  return capitalizedWords.join(' ');
21
21
  }
22
+
23
+ /**
24
+ * TODO: [🧠][🏰] Make standard normalization function exported from `@promptbook/utils`
25
+ */