ai.matey.react.nextjs 0.2.0 → 0.2.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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ # ai.matey.react.nextjs
2
+
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - f227db2: Lint hardening: previously-unlinted packages (cli, react-\*) now pass the strict ESLint config;
8
+ fixed floating/misused promises in React hooks and CLI, case-block declarations, and unused
9
+ variables. require-await and no-redundant-type-constituents re-enabled repo-wide.
10
+ - Updated dependencies [dae4d01]
11
+ - Updated dependencies [e7df1d0]
12
+ - Updated dependencies [f227db2]
13
+ - Updated dependencies [2912b7d]
14
+ - Updated dependencies [aef9f4a]
15
+ - Updated dependencies [78731bb]
16
+ - Updated dependencies [b7e2312]
17
+ - ai.matey.types@0.3.0
18
+ - ai.matey.core@0.3.0
19
+ - ai.matey.react.core@0.2.1
@@ -12,9 +12,15 @@ exports.useCompletion = useCompletion;
12
12
  exports.generateAIMetadata = generateAIMetadata;
13
13
  const ai_matey_react_core_1 = require("ai.matey.react.core");
14
14
  /**
15
- * useChat hook optimized for Next.js.
15
+ * useChat hook optimized for Next.js with App Router support.
16
16
  *
17
- * Wraps the core useChat hook with Next.js-specific defaults.
17
+ * This hook wraps the core useChat hook with Next.js-specific defaults and
18
+ * conventions. It automatically configures the API route to `/api/chat` following
19
+ * Next.js conventions, and sets the stream protocol to 'data' (Server-Sent Events)
20
+ * which works seamlessly with Next.js App Router streaming responses.
21
+ *
22
+ * @param options - Configuration options extending core useChat options with Next.js features
23
+ * @returns Chat state and handlers including messages, input, submit, and loading states
18
24
  *
19
25
  * @example
20
26
  * ```tsx
@@ -23,19 +29,31 @@ const ai_matey_react_core_1 = require("ai.matey.react.core");
23
29
  * import { useChat } from 'ai.matey.react.nextjs';
24
30
  *
25
31
  * export function ChatComponent() {
26
- * const { messages, input, handleInputChange, handleSubmit } = useChat();
32
+ * const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat({
33
+ * api: '/api/chat', // Optional, defaults to this
34
+ * onError: (error) => console.error('Chat error:', error)
35
+ * });
27
36
  *
28
37
  * return (
29
38
  * <form onSubmit={handleSubmit}>
30
- * {messages.map((m) => <div key={m.id}>{m.content}</div>)}
31
- * <input value={input} onChange={handleInputChange} />
39
+ * {messages.map((m) => (
40
+ * <div key={m.id}>
41
+ * <strong>{m.role}:</strong> {m.content}
42
+ * </div>
43
+ * ))}
44
+ * <input
45
+ * value={input}
46
+ * onChange={handleInputChange}
47
+ * disabled={isLoading}
48
+ * />
49
+ * <button type="submit" disabled={isLoading}>Send</button>
32
50
  * </form>
33
51
  * );
34
52
  * }
35
53
  * ```
36
54
  */
37
55
  function useChat(options = {}) {
38
- const { serverAction, experimental, ...coreOptions } = options;
56
+ const { serverAction: _serverAction, experimental: _experimental, ...coreOptions } = options;
39
57
  // Default API to Next.js convention
40
58
  const api = coreOptions.api ?? '/api/chat';
41
59
  return (0, ai_matey_react_core_1.useChat)({
@@ -46,7 +64,15 @@ function useChat(options = {}) {
46
64
  });
47
65
  }
48
66
  /**
49
- * useCompletion hook optimized for Next.js.
67
+ * useCompletion hook optimized for Next.js with App Router support.
68
+ *
69
+ * This hook wraps the core useCompletion hook with Next.js-specific defaults.
70
+ * It automatically configures the API route to `/api/completion` and uses
71
+ * Server-Sent Events (SSE) streaming, making it ideal for text completion
72
+ * use cases like autocomplete, text generation, and inline suggestions.
73
+ *
74
+ * @param options - Configuration options extending core useCompletion options
75
+ * @returns Completion state and handlers including completion text, input, and submit
50
76
  *
51
77
  * @example
52
78
  * ```tsx
@@ -55,19 +81,34 @@ function useChat(options = {}) {
55
81
  * import { useCompletion } from 'ai.matey.react.nextjs';
56
82
  *
57
83
  * export function CompletionComponent() {
58
- * const { completion, input, handleInputChange, handleSubmit } = useCompletion();
84
+ * const {
85
+ * completion,
86
+ * input,
87
+ * handleInputChange,
88
+ * handleSubmit,
89
+ * isLoading
90
+ * } = useCompletion({
91
+ * onFinish: (prompt, completion) => {
92
+ * console.log('Completed:', { prompt, completion });
93
+ * }
94
+ * });
59
95
  *
60
96
  * return (
61
97
  * <form onSubmit={handleSubmit}>
62
- * <input value={input} onChange={handleInputChange} />
63
- * <p>{completion}</p>
98
+ * <textarea
99
+ * value={input}
100
+ * onChange={handleInputChange}
101
+ * placeholder="Enter prompt..."
102
+ * />
103
+ * <button type="submit" disabled={isLoading}>Generate</button>
104
+ * <div className="completion">{completion}</div>
64
105
  * </form>
65
106
  * );
66
107
  * }
67
108
  * ```
68
109
  */
69
110
  function useCompletion(options = {}) {
70
- const { serverAction, ...coreOptions } = options;
111
+ const { serverAction: _serverAction, ...coreOptions } = options;
71
112
  // Default API to Next.js convention
72
113
  const api = coreOptions.api ?? '/api/completion';
73
114
  return (0, ai_matey_react_core_1.useCompletion)({
@@ -116,10 +157,12 @@ function generateAIMetadata(content, aiMetadata, options = {}) {
116
157
  // Add AI attribution if requested
117
158
  if (includeAttribution && aiMetadata) {
118
159
  const attribution = [];
119
- if (aiMetadata.provider)
160
+ if (aiMetadata.provider) {
120
161
  attribution.push(`Provider: ${aiMetadata.provider}`);
121
- if (aiMetadata.model)
162
+ }
163
+ if (aiMetadata.model) {
122
164
  attribution.push(`Model: ${aiMetadata.model}`);
165
+ }
123
166
  metadata.other = {
124
167
  'ai-generated': 'true',
125
168
  ...(attribution.length > 0 && { 'ai-attribution': attribution.join(', ') }),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -201,7 +201,23 @@ function createChatHandler(options) {
201
201
  };
202
202
  }
203
203
  /**
204
- * Transform stream chunks.
204
+ * Transform stream chunks with a custom transformation function.
205
+ *
206
+ * This internal async generator applies a transformation function to each chunk
207
+ * in a stream. It handles both string chunks and object chunks with a 'content'
208
+ * property, preserving the structure while transforming the text content.
209
+ *
210
+ * @param stream - Source async iterable of chunks (strings or objects)
211
+ * @param transform - Transformation function to apply to each chunk's content
212
+ * @yields Transformed chunks in their original format
213
+ *
214
+ * @example
215
+ * ```typescript
216
+ * // Used internally by createChatHandler to transform stream chunks
217
+ * const transformedStream = transformStreamChunks(stream, (chunk) => {
218
+ * return chunk.toUpperCase(); // Example: convert to uppercase
219
+ * });
220
+ * ```
205
221
  */
206
222
  async function* transformStreamChunks(stream, transform) {
207
223
  for await (const chunk of stream) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,15 @@
7
7
  */
8
8
  import { useChat as useChatCore, useCompletion as useCompletionCore } from 'ai.matey.react.core';
9
9
  /**
10
- * useChat hook optimized for Next.js.
10
+ * useChat hook optimized for Next.js with App Router support.
11
11
  *
12
- * Wraps the core useChat hook with Next.js-specific defaults.
12
+ * This hook wraps the core useChat hook with Next.js-specific defaults and
13
+ * conventions. It automatically configures the API route to `/api/chat` following
14
+ * Next.js conventions, and sets the stream protocol to 'data' (Server-Sent Events)
15
+ * which works seamlessly with Next.js App Router streaming responses.
16
+ *
17
+ * @param options - Configuration options extending core useChat options with Next.js features
18
+ * @returns Chat state and handlers including messages, input, submit, and loading states
13
19
  *
14
20
  * @example
15
21
  * ```tsx
@@ -18,19 +24,31 @@ import { useChat as useChatCore, useCompletion as useCompletionCore } from 'ai.m
18
24
  * import { useChat } from 'ai.matey.react.nextjs';
19
25
  *
20
26
  * export function ChatComponent() {
21
- * const { messages, input, handleInputChange, handleSubmit } = useChat();
27
+ * const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat({
28
+ * api: '/api/chat', // Optional, defaults to this
29
+ * onError: (error) => console.error('Chat error:', error)
30
+ * });
22
31
  *
23
32
  * return (
24
33
  * <form onSubmit={handleSubmit}>
25
- * {messages.map((m) => <div key={m.id}>{m.content}</div>)}
26
- * <input value={input} onChange={handleInputChange} />
34
+ * {messages.map((m) => (
35
+ * <div key={m.id}>
36
+ * <strong>{m.role}:</strong> {m.content}
37
+ * </div>
38
+ * ))}
39
+ * <input
40
+ * value={input}
41
+ * onChange={handleInputChange}
42
+ * disabled={isLoading}
43
+ * />
44
+ * <button type="submit" disabled={isLoading}>Send</button>
27
45
  * </form>
28
46
  * );
29
47
  * }
30
48
  * ```
31
49
  */
32
50
  export function useChat(options = {}) {
33
- const { serverAction, experimental, ...coreOptions } = options;
51
+ const { serverAction: _serverAction, experimental: _experimental, ...coreOptions } = options;
34
52
  // Default API to Next.js convention
35
53
  const api = coreOptions.api ?? '/api/chat';
36
54
  return useChatCore({
@@ -41,7 +59,15 @@ export function useChat(options = {}) {
41
59
  });
42
60
  }
43
61
  /**
44
- * useCompletion hook optimized for Next.js.
62
+ * useCompletion hook optimized for Next.js with App Router support.
63
+ *
64
+ * This hook wraps the core useCompletion hook with Next.js-specific defaults.
65
+ * It automatically configures the API route to `/api/completion` and uses
66
+ * Server-Sent Events (SSE) streaming, making it ideal for text completion
67
+ * use cases like autocomplete, text generation, and inline suggestions.
68
+ *
69
+ * @param options - Configuration options extending core useCompletion options
70
+ * @returns Completion state and handlers including completion text, input, and submit
45
71
  *
46
72
  * @example
47
73
  * ```tsx
@@ -50,19 +76,34 @@ export function useChat(options = {}) {
50
76
  * import { useCompletion } from 'ai.matey.react.nextjs';
51
77
  *
52
78
  * export function CompletionComponent() {
53
- * const { completion, input, handleInputChange, handleSubmit } = useCompletion();
79
+ * const {
80
+ * completion,
81
+ * input,
82
+ * handleInputChange,
83
+ * handleSubmit,
84
+ * isLoading
85
+ * } = useCompletion({
86
+ * onFinish: (prompt, completion) => {
87
+ * console.log('Completed:', { prompt, completion });
88
+ * }
89
+ * });
54
90
  *
55
91
  * return (
56
92
  * <form onSubmit={handleSubmit}>
57
- * <input value={input} onChange={handleInputChange} />
58
- * <p>{completion}</p>
93
+ * <textarea
94
+ * value={input}
95
+ * onChange={handleInputChange}
96
+ * placeholder="Enter prompt..."
97
+ * />
98
+ * <button type="submit" disabled={isLoading}>Generate</button>
99
+ * <div className="completion">{completion}</div>
59
100
  * </form>
60
101
  * );
61
102
  * }
62
103
  * ```
63
104
  */
64
105
  export function useCompletion(options = {}) {
65
- const { serverAction, ...coreOptions } = options;
106
+ const { serverAction: _serverAction, ...coreOptions } = options;
66
107
  // Default API to Next.js convention
67
108
  const api = coreOptions.api ?? '/api/completion';
68
109
  return useCompletionCore({
@@ -111,10 +152,12 @@ export function generateAIMetadata(content, aiMetadata, options = {}) {
111
152
  // Add AI attribution if requested
112
153
  if (includeAttribution && aiMetadata) {
113
154
  const attribution = [];
114
- if (aiMetadata.provider)
155
+ if (aiMetadata.provider) {
115
156
  attribution.push(`Provider: ${aiMetadata.provider}`);
116
- if (aiMetadata.model)
157
+ }
158
+ if (aiMetadata.model) {
117
159
  attribution.push(`Model: ${aiMetadata.model}`);
160
+ }
118
161
  metadata.other = {
119
162
  'ai-generated': 'true',
120
163
  ...(attribution.length > 0 && { 'ai-attribution': attribution.join(', ') }),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -195,7 +195,23 @@ export function createChatHandler(options) {
195
195
  };
196
196
  }
197
197
  /**
198
- * Transform stream chunks.
198
+ * Transform stream chunks with a custom transformation function.
199
+ *
200
+ * This internal async generator applies a transformation function to each chunk
201
+ * in a stream. It handles both string chunks and object chunks with a 'content'
202
+ * property, preserving the structure while transforming the text content.
203
+ *
204
+ * @param stream - Source async iterable of chunks (strings or objects)
205
+ * @param transform - Transformation function to apply to each chunk's content
206
+ * @yields Transformed chunks in their original format
207
+ *
208
+ * @example
209
+ * ```typescript
210
+ * // Used internally by createChatHandler to transform stream chunks
211
+ * const transformedStream = transformStreamChunks(stream, (chunk) => {
212
+ * return chunk.toUpperCase(); // Example: convert to uppercase
213
+ * });
214
+ * ```
199
215
  */
200
216
  async function* transformStreamChunks(stream, transform) {
201
217
  for await (const chunk of stream) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA0D,EAC1D,UAAoC,EAAE;IAEtC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAE/C,IAAI,IAAgC,CAAC;IAErC,IAAI,MAAM,YAAY,cAAc,EAAE,CAAC;QACrC,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,2CAA2C;QAC3C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,GAAG,IAAI,cAAc,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,UAAU;gBACpB,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBACjC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC5C,CAAC;oBACD,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,MAAM;QACN,OAAO,EAAE;YACP,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,wBAAwB;YACzC,UAAU,EAAE,YAAY;YACxB,GAAG,OAAO;SACX;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAwB,EACxB,UAAoC,EAAE;IAEtC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAElC,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC;QAC9B,KAAK,CAAC,KAAK,CAAC,UAAU;YACpB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;oBACvD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,mBAAmB;gBACnB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACvD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,MAAM;QACN,OAAO,EAAE;YACP,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,wBAAwB;YACzC,UAAU,EAAE,YAAY;YACxB,GAAG,OAAO;SACX;KACF,CAAC,CAAC;AACL,CAAC;AAuCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEjG,OAAO,KAAK,UAAU,OAAO,CAAC,OAAgB;QAC5C,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAoB,CAAC;YAEvD,uBAAuB;YACvB,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE;oBACrE,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;YAED,sBAAsB;YACtB,MAAM,MAAM,GACV,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YAEpF,gCAAgC;YAChC,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEvE,kCAAkC;YAClC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,KAAK,KAAK,CAAC;YAEpD,IAAI,YAAY,EAAE,CAAC;gBACjB,qBAAqB;gBACrB,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;oBAC/B,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3C,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB,CAAC,CAAC;oBACH,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,WAAW,EAAE,aAAa,CAAC,WAAW;oBACtC,SAAS,EAAE,aAAa,CAAC,SAAS;iBACnC,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,MAAM,iBAAiB,GAAG,cAAc;oBACtC,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,cAAc,CAAC;oBAC/C,CAAC,CAAC,MAAM,CAAC;gBAEX,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3C,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB,CAAC,CAAC;oBACH,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,WAAW,EAAE,aAAa,CAAC,WAAW;oBACtC,SAAS,EAAE,aAAa,CAAC,SAAS;iBACnC,CAAC,CAAC;gBAEH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAC5C,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB;aACxE,CAAC,EACF;gBACE,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,SAAS,CAAC,CAAC,qBAAqB,CACnC,MAA8B,EAC9B,SAAoC;IAEpC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;aAAM,IACL,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,SAAS,IAAI,KAAK;YAClB,OAAQ,KAA6B,CAAC,OAAO,KAAK,QAAQ,EAC1D,CAAC;YACD,MAAM;gBACJ,GAAG,KAAK;gBACR,OAAO,EAAE,SAAS,CAAE,KAA6B,CAAC,OAAO,CAAC;aAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA8D;IAC7F,OAAO,KAAK,UAAU,UAAU,CAAC,IAAqB;QACpD,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAE9F,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
@@ -21,9 +21,15 @@ export interface UseNextChatOptions extends UseChatOptions {
21
21
  };
22
22
  }
23
23
  /**
24
- * useChat hook optimized for Next.js.
24
+ * useChat hook optimized for Next.js with App Router support.
25
25
  *
26
- * Wraps the core useChat hook with Next.js-specific defaults.
26
+ * This hook wraps the core useChat hook with Next.js-specific defaults and
27
+ * conventions. It automatically configures the API route to `/api/chat` following
28
+ * Next.js conventions, and sets the stream protocol to 'data' (Server-Sent Events)
29
+ * which works seamlessly with Next.js App Router streaming responses.
30
+ *
31
+ * @param options - Configuration options extending core useChat options with Next.js features
32
+ * @returns Chat state and handlers including messages, input, submit, and loading states
27
33
  *
28
34
  * @example
29
35
  * ```tsx
@@ -32,12 +38,24 @@ export interface UseNextChatOptions extends UseChatOptions {
32
38
  * import { useChat } from 'ai.matey.react.nextjs';
33
39
  *
34
40
  * export function ChatComponent() {
35
- * const { messages, input, handleInputChange, handleSubmit } = useChat();
41
+ * const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat({
42
+ * api: '/api/chat', // Optional, defaults to this
43
+ * onError: (error) => console.error('Chat error:', error)
44
+ * });
36
45
  *
37
46
  * return (
38
47
  * <form onSubmit={handleSubmit}>
39
- * {messages.map((m) => <div key={m.id}>{m.content}</div>)}
40
- * <input value={input} onChange={handleInputChange} />
48
+ * {messages.map((m) => (
49
+ * <div key={m.id}>
50
+ * <strong>{m.role}:</strong> {m.content}
51
+ * </div>
52
+ * ))}
53
+ * <input
54
+ * value={input}
55
+ * onChange={handleInputChange}
56
+ * disabled={isLoading}
57
+ * />
58
+ * <button type="submit" disabled={isLoading}>Send</button>
41
59
  * </form>
42
60
  * );
43
61
  * }
@@ -52,7 +70,15 @@ export interface UseNextCompletionOptions extends UseCompletionOptions {
52
70
  serverAction?: (body: unknown) => Promise<unknown>;
53
71
  }
54
72
  /**
55
- * useCompletion hook optimized for Next.js.
73
+ * useCompletion hook optimized for Next.js with App Router support.
74
+ *
75
+ * This hook wraps the core useCompletion hook with Next.js-specific defaults.
76
+ * It automatically configures the API route to `/api/completion` and uses
77
+ * Server-Sent Events (SSE) streaming, making it ideal for text completion
78
+ * use cases like autocomplete, text generation, and inline suggestions.
79
+ *
80
+ * @param options - Configuration options extending core useCompletion options
81
+ * @returns Completion state and handlers including completion text, input, and submit
56
82
  *
57
83
  * @example
58
84
  * ```tsx
@@ -61,12 +87,27 @@ export interface UseNextCompletionOptions extends UseCompletionOptions {
61
87
  * import { useCompletion } from 'ai.matey.react.nextjs';
62
88
  *
63
89
  * export function CompletionComponent() {
64
- * const { completion, input, handleInputChange, handleSubmit } = useCompletion();
90
+ * const {
91
+ * completion,
92
+ * input,
93
+ * handleInputChange,
94
+ * handleSubmit,
95
+ * isLoading
96
+ * } = useCompletion({
97
+ * onFinish: (prompt, completion) => {
98
+ * console.log('Completed:', { prompt, completion });
99
+ * }
100
+ * });
65
101
  *
66
102
  * return (
67
103
  * <form onSubmit={handleSubmit}>
68
- * <input value={input} onChange={handleInputChange} />
69
- * <p>{completion}</p>
104
+ * <textarea
105
+ * value={input}
106
+ * onChange={handleInputChange}
107
+ * placeholder="Enter prompt..."
108
+ * />
109
+ * <button type="submit" disabled={isLoading}>Generate</button>
110
+ * <div className="completion">{completion}</div>
70
111
  * </form>
71
112
  * );
72
113
  * }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,6CAA6C;IAC7C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,4BAA4B;IAC5B,YAAY,CAAC,EAAE;QACb,+BAA+B;QAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,aAAa,CAYvE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,6CAA6C;IAC7C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,wBAA6B,GAAG,mBAAmB,CAWzF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6BAA6B;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,6CAA6C;IAC7C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,4BAA4B;IAC5B,YAAY,CAAC,EAAE;QACb,+BAA+B;QAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,aAAa,CAYvE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,6CAA6C;IAC7C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,wBAA6B,GAAG,mBAAmB,CAWzF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6BAA6B;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,EAC1D,OAAO,GAAE,wBAA6B,GACrC,QAAQ,CAiCV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,OAAO,GAAE,wBAA6B,GACrC,QAAQ,CA8BV;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iCAAiC;IACjC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACtC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,CAAC;IAC9D,gCAAgC;IAChC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,IAGnC,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA2EnE;AA4BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,IAC5D,MAAM,eAAe,sBAevD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,EAC1D,OAAO,GAAE,wBAA6B,GACrC,QAAQ,CAiCV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,OAAO,GAAE,wBAA6B,GACrC,QAAQ,CA8BV;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iCAAiC;IACjC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACtC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,CAAC;IAC9D,gCAAgC;IAChC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,IAGnC,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA2EnE;AA4CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,IAC5D,MAAM,eAAe,sBAevD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai.matey.react.nextjs",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Next.js integration for AI Matey - App Router, Server Actions, API Routes",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -41,7 +41,9 @@
41
41
  "build:types": "tsc -p tsconfig.types.json",
42
42
  "clean": "rm -rf dist",
43
43
  "typecheck": "tsc --noEmit",
44
- "test": "vitest run"
44
+ "test": "vitest run",
45
+ "lint": "eslint src --ext .ts,.tsx",
46
+ "lint:fix": "eslint src --ext .ts,.tsx --fix"
45
47
  },
46
48
  "dependencies": {
47
49
  "ai.matey.types": "*",