@relaycast/react 0.1.2

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 (89) hide show
  1. package/dist/context.d.ts +10 -0
  2. package/dist/context.d.ts.map +1 -0
  3. package/dist/context.js +4 -0
  4. package/dist/context.js.map +1 -0
  5. package/dist/hooks/useAgent.d.ts +3 -0
  6. package/dist/hooks/useAgent.d.ts.map +1 -0
  7. package/dist/hooks/useAgent.js +9 -0
  8. package/dist/hooks/useAgent.js.map +1 -0
  9. package/dist/hooks/useChannel.d.ts +3 -0
  10. package/dist/hooks/useChannel.d.ts.map +1 -0
  11. package/dist/hooks/useChannel.js +32 -0
  12. package/dist/hooks/useChannel.js.map +1 -0
  13. package/dist/hooks/useChannels.d.ts +3 -0
  14. package/dist/hooks/useChannels.d.ts.map +1 -0
  15. package/dist/hooks/useChannels.js +31 -0
  16. package/dist/hooks/useChannels.js.map +1 -0
  17. package/dist/hooks/useDMs.d.ts +3 -0
  18. package/dist/hooks/useDMs.d.ts.map +1 -0
  19. package/dist/hooks/useDMs.js +44 -0
  20. package/dist/hooks/useDMs.js.map +1 -0
  21. package/dist/hooks/useEvent.d.ts +4 -0
  22. package/dist/hooks/useEvent.d.ts.map +1 -0
  23. package/dist/hooks/useEvent.js +16 -0
  24. package/dist/hooks/useEvent.js.map +1 -0
  25. package/dist/hooks/useInbox.d.ts +3 -0
  26. package/dist/hooks/useInbox.d.ts.map +1 -0
  27. package/dist/hooks/useInbox.js +35 -0
  28. package/dist/hooks/useInbox.js.map +1 -0
  29. package/dist/hooks/useMessages.d.ts +3 -0
  30. package/dist/hooks/useMessages.d.ts.map +1 -0
  31. package/dist/hooks/useMessages.js +46 -0
  32. package/dist/hooks/useMessages.js.map +1 -0
  33. package/dist/hooks/usePresence.d.ts +3 -0
  34. package/dist/hooks/usePresence.d.ts.map +1 -0
  35. package/dist/hooks/usePresence.js +31 -0
  36. package/dist/hooks/usePresence.js.map +1 -0
  37. package/dist/hooks/useReaction.d.ts +3 -0
  38. package/dist/hooks/useReaction.d.ts.map +1 -0
  39. package/dist/hooks/useReaction.js +15 -0
  40. package/dist/hooks/useReaction.js.map +1 -0
  41. package/dist/hooks/useRelay.d.ts +3 -0
  42. package/dist/hooks/useRelay.d.ts.map +1 -0
  43. package/dist/hooks/useRelay.js +9 -0
  44. package/dist/hooks/useRelay.js.map +1 -0
  45. package/dist/hooks/useReply.d.ts +3 -0
  46. package/dist/hooks/useReply.d.ts.map +1 -0
  47. package/dist/hooks/useReply.js +27 -0
  48. package/dist/hooks/useReply.js.map +1 -0
  49. package/dist/hooks/useSearch.d.ts +8 -0
  50. package/dist/hooks/useSearch.d.ts.map +1 -0
  51. package/dist/hooks/useSearch.js +36 -0
  52. package/dist/hooks/useSearch.js.map +1 -0
  53. package/dist/hooks/useSendDM.d.ts +3 -0
  54. package/dist/hooks/useSendDM.d.ts.map +1 -0
  55. package/dist/hooks/useSendDM.js +19 -0
  56. package/dist/hooks/useSendDM.js.map +1 -0
  57. package/dist/hooks/useSendMessage.d.ts +3 -0
  58. package/dist/hooks/useSendMessage.d.ts.map +1 -0
  59. package/dist/hooks/useSendMessage.js +27 -0
  60. package/dist/hooks/useSendMessage.js.map +1 -0
  61. package/dist/hooks/useThread.d.ts +3 -0
  62. package/dist/hooks/useThread.d.ts.map +1 -0
  63. package/dist/hooks/useThread.js +31 -0
  64. package/dist/hooks/useThread.js.map +1 -0
  65. package/dist/hooks/useWebSocket.d.ts +6 -0
  66. package/dist/hooks/useWebSocket.d.ts.map +1 -0
  67. package/dist/hooks/useWebSocket.js +11 -0
  68. package/dist/hooks/useWebSocket.js.map +1 -0
  69. package/dist/index.d.ts +20 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +22 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/provider.d.ts +10 -0
  74. package/dist/provider.d.ts.map +1 -0
  75. package/dist/provider.js +47 -0
  76. package/dist/provider.js.map +1 -0
  77. package/dist/reducer.d.ts +4 -0
  78. package/dist/reducer.d.ts.map +1 -0
  79. package/dist/reducer.js +265 -0
  80. package/dist/reducer.js.map +1 -0
  81. package/dist/store.d.ts +3 -0
  82. package/dist/store.d.ts.map +1 -0
  83. package/dist/store.js +64 -0
  84. package/dist/store.js.map +1 -0
  85. package/dist/types.d.ts +121 -0
  86. package/dist/types.d.ts.map +1 -0
  87. package/dist/types.js +2 -0
  88. package/dist/types.js.map +1 -0
  89. package/package.json +45 -0
@@ -0,0 +1,121 @@
1
+ import type { MessageWithMeta, Channel, ChannelMemberInfo, Agent, InboxResponse, DmConversationSummary, MessageBlock } from '@relaycast/types';
2
+ export type ConnectionStatus = 'connecting' | 'connected' | 'disconnected' | 'reconnecting';
3
+ export interface ChannelMessages {
4
+ messages: MessageWithMeta[];
5
+ loading: boolean;
6
+ error: Error | null;
7
+ }
8
+ export interface ThreadData {
9
+ parent: MessageWithMeta | null;
10
+ replies: MessageWithMeta[];
11
+ loading: boolean;
12
+ error: Error | null;
13
+ }
14
+ export interface ChannelDetail {
15
+ channel: Channel | null;
16
+ members: ChannelMemberInfo[];
17
+ loading: boolean;
18
+ error: Error | null;
19
+ }
20
+ export interface StoreState {
21
+ channelMessages: Record<string, ChannelMessages>;
22
+ threads: Record<string, ThreadData>;
23
+ channels: {
24
+ data: Channel[];
25
+ loading: boolean;
26
+ error: Error | null;
27
+ };
28
+ channelDetails: Record<string, ChannelDetail>;
29
+ agents: {
30
+ data: Agent[];
31
+ loading: boolean;
32
+ error: Error | null;
33
+ };
34
+ inbox: {
35
+ data: InboxResponse | null;
36
+ loading: boolean;
37
+ error: Error | null;
38
+ };
39
+ dms: {
40
+ data: DmConversationSummary[];
41
+ loading: boolean;
42
+ error: Error | null;
43
+ };
44
+ connectionStatus: ConnectionStatus;
45
+ }
46
+ export type Listener = () => void;
47
+ export interface RelayStore {
48
+ getState(): StoreState;
49
+ setState(partial: Partial<StoreState>): void;
50
+ updateChannelMessages(channel: string, updater: (prev: ChannelMessages) => ChannelMessages): void;
51
+ updateThread(messageId: string, updater: (prev: ThreadData) => ThreadData): void;
52
+ updateChannelDetail(name: string, updater: (prev: ChannelDetail) => ChannelDetail): void;
53
+ subscribe(listener: Listener): () => void;
54
+ }
55
+ export interface UseMessagesReturn {
56
+ messages: MessageWithMeta[];
57
+ loading: boolean;
58
+ error: Error | null;
59
+ fetchMore: () => Promise<void>;
60
+ }
61
+ export interface UseThreadReturn {
62
+ parent: MessageWithMeta | null;
63
+ replies: MessageWithMeta[];
64
+ loading: boolean;
65
+ error: Error | null;
66
+ }
67
+ export interface UseChannelsReturn {
68
+ channels: Channel[];
69
+ loading: boolean;
70
+ error: Error | null;
71
+ }
72
+ export interface UseChannelReturn {
73
+ channel: Channel | null;
74
+ members: ChannelMemberInfo[];
75
+ loading: boolean;
76
+ error: Error | null;
77
+ }
78
+ export interface UseInboxReturn {
79
+ inbox: InboxResponse | null;
80
+ loading: boolean;
81
+ error: Error | null;
82
+ refresh: () => Promise<void>;
83
+ }
84
+ export interface UsePresenceReturn {
85
+ agents: Agent[];
86
+ loading: boolean;
87
+ error: Error | null;
88
+ }
89
+ export interface UseDMsReturn {
90
+ conversations: DmConversationSummary[];
91
+ loading: boolean;
92
+ error: Error | null;
93
+ }
94
+ export interface UseSearchReturn {
95
+ results: MessageWithMeta[];
96
+ loading: boolean;
97
+ error: Error | null;
98
+ }
99
+ export interface UseWebSocketReturn {
100
+ status: ConnectionStatus;
101
+ }
102
+ export interface UseSendMessageReturn {
103
+ send: (channel: string, text: string, opts?: {
104
+ attachments?: string[];
105
+ blocks?: MessageBlock[];
106
+ }) => Promise<MessageWithMeta>;
107
+ sending: boolean;
108
+ }
109
+ export interface UseReplyReturn {
110
+ reply: (messageId: string, text: string) => Promise<MessageWithMeta>;
111
+ sending: boolean;
112
+ }
113
+ export interface UseReactionReturn {
114
+ react: (messageId: string, emoji: string) => Promise<void>;
115
+ unreact: (messageId: string, emoji: string) => Promise<void>;
116
+ }
117
+ export interface UseSendDMReturn {
118
+ send: (agent: string, text: string) => Promise<void>;
119
+ sending: boolean;
120
+ }
121
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@relaycast/react",
3
+ "version": "0.1.2",
4
+ "description": "Headless React hooks for Relaycast real-time agent messaging",
5
+ "keywords": ["relaycast", "react", "hooks", "ai", "agents", "messaging"],
6
+ "author": "Relaycast",
7
+ "license": "Apache-2.0",
8
+ "homepage": "https://relaycast.dev",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/AgentWorkforce/relaycast",
12
+ "directory": "packages/react"
13
+ },
14
+ "type": "module",
15
+ "main": "dist/index.js",
16
+ "types": "dist/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
+ }
22
+ },
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "test": "vitest run",
26
+ "lint": "eslint src/"
27
+ },
28
+ "dependencies": {
29
+ "@relaycast/sdk": "0.1.2",
30
+ "@relaycast/types": "0.1.2"
31
+ },
32
+ "peerDependencies": {
33
+ "react": "^18.0.0 || ^19.0.0"
34
+ },
35
+ "devDependencies": {
36
+ "@testing-library/react": "^16.0.0",
37
+ "@types/react": "^18.3.0",
38
+ "jsdom": "^25.0.0",
39
+ "react": "^18.3.0",
40
+ "react-dom": "^18.3.0",
41
+ "typescript": "^5.7.0",
42
+ "vitest": "^3.0.0"
43
+ },
44
+ "files": ["dist"]
45
+ }