@cogitator-ai/next 0.2.0

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 (54) hide show
  1. package/README.md +369 -0
  2. package/dist/client/index.d.ts +4 -0
  3. package/dist/client/index.d.ts.map +1 -0
  4. package/dist/client/index.js +4 -0
  5. package/dist/client/index.js.map +1 -0
  6. package/dist/client/retry.d.ts +3 -0
  7. package/dist/client/retry.d.ts.map +1 -0
  8. package/dist/client/retry.js +47 -0
  9. package/dist/client/retry.js.map +1 -0
  10. package/dist/client/sse-parser.d.ts +3 -0
  11. package/dist/client/sse-parser.d.ts.map +1 -0
  12. package/dist/client/sse-parser.js +39 -0
  13. package/dist/client/sse-parser.js.map +1 -0
  14. package/dist/client/use-agent.d.ts +3 -0
  15. package/dist/client/use-agent.d.ts.map +1 -0
  16. package/dist/client/use-agent.js +53 -0
  17. package/dist/client/use-agent.js.map +1 -0
  18. package/dist/client/use-chat-state.d.ts +52 -0
  19. package/dist/client/use-chat-state.d.ts.map +1 -0
  20. package/dist/client/use-chat-state.js +68 -0
  21. package/dist/client/use-chat-state.js.map +1 -0
  22. package/dist/client/use-chat.d.ts +3 -0
  23. package/dist/client/use-chat.d.ts.map +1 -0
  24. package/dist/client/use-chat.js +215 -0
  25. package/dist/client/use-chat.js.map +1 -0
  26. package/dist/handlers/agent.d.ts +4 -0
  27. package/dist/handlers/agent.d.ts.map +1 -0
  28. package/dist/handlers/agent.js +76 -0
  29. package/dist/handlers/agent.js.map +1 -0
  30. package/dist/handlers/chat.d.ts +4 -0
  31. package/dist/handlers/chat.d.ts.map +1 -0
  32. package/dist/handlers/chat.js +124 -0
  33. package/dist/handlers/chat.js.map +1 -0
  34. package/dist/index.d.ts +7 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +5 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/streaming/encoder.d.ts +4 -0
  39. package/dist/streaming/encoder.d.ts.map +1 -0
  40. package/dist/streaming/encoder.js +15 -0
  41. package/dist/streaming/encoder.js.map +1 -0
  42. package/dist/streaming/protocol.d.ts +64 -0
  43. package/dist/streaming/protocol.d.ts.map +1 -0
  44. package/dist/streaming/protocol.js +31 -0
  45. package/dist/streaming/protocol.js.map +1 -0
  46. package/dist/streaming/stream-writer.d.ts +19 -0
  47. package/dist/streaming/stream-writer.d.ts.map +1 -0
  48. package/dist/streaming/stream-writer.js +57 -0
  49. package/dist/streaming/stream-writer.js.map +1 -0
  50. package/dist/types.d.ts +97 -0
  51. package/dist/types.d.ts.map +1 -0
  52. package/dist/types.js +2 -0
  53. package/dist/types.js.map +1 -0
  54. package/package.json +56 -0
@@ -0,0 +1,64 @@
1
+ export interface Usage {
2
+ inputTokens: number;
3
+ outputTokens: number;
4
+ totalTokens: number;
5
+ }
6
+ export type StreamEvent = StartEvent | TextStartEvent | TextDeltaEvent | TextEndEvent | ToolCallStartEvent | ToolCallDeltaEvent | ToolCallEndEvent | ToolResultEvent | ErrorEvent | FinishEvent;
7
+ export interface StartEvent {
8
+ type: 'start';
9
+ messageId: string;
10
+ }
11
+ export interface TextStartEvent {
12
+ type: 'text-start';
13
+ id: string;
14
+ }
15
+ export interface TextDeltaEvent {
16
+ type: 'text-delta';
17
+ id: string;
18
+ delta: string;
19
+ }
20
+ export interface TextEndEvent {
21
+ type: 'text-end';
22
+ id: string;
23
+ }
24
+ export interface ToolCallStartEvent {
25
+ type: 'tool-call-start';
26
+ id: string;
27
+ toolName: string;
28
+ }
29
+ export interface ToolCallDeltaEvent {
30
+ type: 'tool-call-delta';
31
+ id: string;
32
+ argsTextDelta: string;
33
+ }
34
+ export interface ToolCallEndEvent {
35
+ type: 'tool-call-end';
36
+ id: string;
37
+ }
38
+ export interface ToolResultEvent {
39
+ type: 'tool-result';
40
+ id: string;
41
+ toolCallId: string;
42
+ result: unknown;
43
+ }
44
+ export interface ErrorEvent {
45
+ type: 'error';
46
+ message: string;
47
+ code?: string;
48
+ }
49
+ export interface FinishEvent {
50
+ type: 'finish';
51
+ messageId: string;
52
+ usage?: Usage;
53
+ }
54
+ export declare function createStartEvent(messageId: string): StartEvent;
55
+ export declare function createTextStartEvent(id: string): TextStartEvent;
56
+ export declare function createTextDeltaEvent(id: string, delta: string): TextDeltaEvent;
57
+ export declare function createTextEndEvent(id: string): TextEndEvent;
58
+ export declare function createToolCallStartEvent(id: string, toolName: string): ToolCallStartEvent;
59
+ export declare function createToolCallDeltaEvent(id: string, argsTextDelta: string): ToolCallDeltaEvent;
60
+ export declare function createToolCallEndEvent(id: string): ToolCallEndEvent;
61
+ export declare function createToolResultEvent(id: string, toolCallId: string, result: unknown): ToolResultEvent;
62
+ export declare function createErrorEvent(message: string, code?: string): ErrorEvent;
63
+ export declare function createFinishEvent(messageId: string, usage?: Usage): FinishEvent;
64
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/streaming/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,cAAc,GACd,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,UAAU,GACV,WAAW,CAAC;AAEhB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAE9D;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAE9E;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAE3D;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAEzF;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,kBAAkB,CAE9F;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAEnE;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GACd,eAAe,CAEjB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAE3E;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,CAE/E"}
@@ -0,0 +1,31 @@
1
+ export function createStartEvent(messageId) {
2
+ return { type: 'start', messageId };
3
+ }
4
+ export function createTextStartEvent(id) {
5
+ return { type: 'text-start', id };
6
+ }
7
+ export function createTextDeltaEvent(id, delta) {
8
+ return { type: 'text-delta', id, delta };
9
+ }
10
+ export function createTextEndEvent(id) {
11
+ return { type: 'text-end', id };
12
+ }
13
+ export function createToolCallStartEvent(id, toolName) {
14
+ return { type: 'tool-call-start', id, toolName };
15
+ }
16
+ export function createToolCallDeltaEvent(id, argsTextDelta) {
17
+ return { type: 'tool-call-delta', id, argsTextDelta };
18
+ }
19
+ export function createToolCallEndEvent(id) {
20
+ return { type: 'tool-call-end', id };
21
+ }
22
+ export function createToolResultEvent(id, toolCallId, result) {
23
+ return { type: 'tool-result', id, toolCallId, result };
24
+ }
25
+ export function createErrorEvent(message, code) {
26
+ return { type: 'error', message, code };
27
+ }
28
+ export function createFinishEvent(messageId, usage) {
29
+ return { type: 'finish', messageId, usage };
30
+ }
31
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/streaming/protocol.ts"],"names":[],"mappings":"AA2EA,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,KAAa;IAC5D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU,EAAE,QAAgB;IACnE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU,EAAE,aAAqB;IACxE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAC/C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,EAAU,EACV,UAAkB,EAClB,MAAe;IAEf,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAa;IAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,KAAa;IAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type Usage } from './protocol.js';
2
+ export declare class StreamWriter {
3
+ private writer;
4
+ private closed;
5
+ constructor(writer: WritableStreamDefaultWriter<Uint8Array>);
6
+ private write;
7
+ start(messageId: string): Promise<void>;
8
+ textStart(id: string): Promise<void>;
9
+ textDelta(id: string, delta: string): Promise<void>;
10
+ textEnd(id: string): Promise<void>;
11
+ toolCallStart(id: string, toolName: string): Promise<void>;
12
+ toolCallDelta(id: string, argsTextDelta: string): Promise<void>;
13
+ toolCallEnd(id: string): Promise<void>;
14
+ toolResult(id: string, toolCallId: string, result: unknown): Promise<void>;
15
+ error(message: string, code?: string): Promise<void>;
16
+ finish(messageId: string, usage?: Usage): Promise<void>;
17
+ close(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=stream-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-writer.d.ts","sourceRoot":"","sources":["../../src/streaming/stream-writer.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,KAAK,KAAK,EACX,MAAM,eAAe,CAAC;AAEvB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC;YAI7C,KAAK;IAKb,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
@@ -0,0 +1,57 @@
1
+ import { encodeSSE, encodeDone } from './encoder.js';
2
+ import { createStartEvent, createTextStartEvent, createTextDeltaEvent, createTextEndEvent, createToolCallStartEvent, createToolCallDeltaEvent, createToolCallEndEvent, createToolResultEvent, createErrorEvent, createFinishEvent, } from './protocol.js';
3
+ export class StreamWriter {
4
+ writer;
5
+ closed = false;
6
+ constructor(writer) {
7
+ this.writer = writer;
8
+ }
9
+ async write(data) {
10
+ if (this.closed)
11
+ return;
12
+ await this.writer.write(encodeSSE(data));
13
+ }
14
+ async start(messageId) {
15
+ await this.write(createStartEvent(messageId));
16
+ }
17
+ async textStart(id) {
18
+ await this.write(createTextStartEvent(id));
19
+ }
20
+ async textDelta(id, delta) {
21
+ if (!delta)
22
+ return;
23
+ await this.write(createTextDeltaEvent(id, delta));
24
+ }
25
+ async textEnd(id) {
26
+ await this.write(createTextEndEvent(id));
27
+ }
28
+ async toolCallStart(id, toolName) {
29
+ await this.write(createToolCallStartEvent(id, toolName));
30
+ }
31
+ async toolCallDelta(id, argsTextDelta) {
32
+ await this.write(createToolCallDeltaEvent(id, argsTextDelta));
33
+ }
34
+ async toolCallEnd(id) {
35
+ await this.write(createToolCallEndEvent(id));
36
+ }
37
+ async toolResult(id, toolCallId, result) {
38
+ await this.write(createToolResultEvent(id, toolCallId, result));
39
+ }
40
+ async error(message, code) {
41
+ await this.write(createErrorEvent(message, code));
42
+ }
43
+ async finish(messageId, usage) {
44
+ await this.write(createFinishEvent(messageId, usage));
45
+ await this.writer.write(encodeDone());
46
+ }
47
+ async close() {
48
+ if (this.closed)
49
+ return;
50
+ this.closed = true;
51
+ try {
52
+ await this.writer.close();
53
+ }
54
+ catch { }
55
+ }
56
+ }
57
+ //# sourceMappingURL=stream-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-writer.js","sourceRoot":"","sources":["../../src/streaming/stream-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,OAAO,YAAY;IACf,MAAM,CAA0C;IAChD,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,MAA+C;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,IAAa;QAC/B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,KAAa;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,QAAgB;QAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,aAAqB;QACnD,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,UAAkB,EAAE,MAAe;QAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,IAAa;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,KAAa;QAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;CACF"}
@@ -0,0 +1,97 @@
1
+ import type { Message, ToolCall, ToolResult, RunResult } from '@cogitator-ai/types';
2
+ export type { Message, ToolCall, ToolResult, RunResult };
3
+ export interface ChatMessage {
4
+ id: string;
5
+ role: 'user' | 'assistant' | 'system';
6
+ content: string;
7
+ toolCalls?: ToolCall[];
8
+ metadata?: Record<string, unknown>;
9
+ createdAt?: Date;
10
+ }
11
+ export interface ChatInput {
12
+ messages: ChatMessage[];
13
+ threadId?: string;
14
+ metadata?: Record<string, unknown>;
15
+ }
16
+ export interface AgentInput {
17
+ input: string;
18
+ context?: Record<string, unknown>;
19
+ threadId?: string;
20
+ }
21
+ export interface ChatHandlerOptions {
22
+ parseInput?: (req: Request) => Promise<ChatInput>;
23
+ beforeRun?: (req: Request, input: ChatInput) => Promise<Record<string, unknown> | void>;
24
+ afterRun?: (result: RunResult) => Promise<void>;
25
+ maxDuration?: number;
26
+ }
27
+ export interface AgentHandlerOptions {
28
+ parseInput?: (req: Request) => Promise<AgentInput>;
29
+ beforeRun?: (req: Request, input: AgentInput) => Promise<Record<string, unknown> | void>;
30
+ afterRun?: (result: RunResult) => Promise<void>;
31
+ maxDuration?: number;
32
+ }
33
+ export interface AgentResponse {
34
+ output: string;
35
+ threadId: string;
36
+ usage: {
37
+ inputTokens: number;
38
+ outputTokens: number;
39
+ totalTokens: number;
40
+ };
41
+ toolCalls: ToolCall[];
42
+ trace?: {
43
+ traceId: string;
44
+ spans: unknown[];
45
+ };
46
+ }
47
+ export interface RetryConfig {
48
+ maxRetries?: number;
49
+ delay?: number;
50
+ backoff?: 'linear' | 'exponential';
51
+ }
52
+ export interface ToolResultEvent {
53
+ id: string;
54
+ toolCallId: string;
55
+ result: unknown;
56
+ }
57
+ export interface UseChatOptions {
58
+ api: string;
59
+ threadId?: string;
60
+ initialMessages?: ChatMessage[];
61
+ headers?: Record<string, string>;
62
+ onError?: (error: Error) => void;
63
+ onFinish?: (message: ChatMessage) => void;
64
+ onToolCall?: (toolCall: ToolCall) => void;
65
+ onToolResult?: (result: ToolResultEvent) => void;
66
+ retry?: RetryConfig;
67
+ }
68
+ export interface UseChatReturn {
69
+ messages: ChatMessage[];
70
+ input: string;
71
+ setInput: (value: string) => void;
72
+ send: (input?: string, metadata?: Record<string, unknown>) => Promise<void>;
73
+ isLoading: boolean;
74
+ error: Error | null;
75
+ stop: () => void;
76
+ reload: () => Promise<void>;
77
+ threadId: string | undefined;
78
+ setThreadId: (id: string) => void;
79
+ appendMessage: (message: ChatMessage) => void;
80
+ clearMessages: () => void;
81
+ setMessages: (messages: ChatMessage[]) => void;
82
+ }
83
+ export interface UseAgentOptions {
84
+ api: string;
85
+ headers?: Record<string, string>;
86
+ onError?: (error: Error) => void;
87
+ onSuccess?: (result: AgentResponse) => void;
88
+ retry?: RetryConfig;
89
+ }
90
+ export interface UseAgentReturn {
91
+ run: (input: AgentInput) => Promise<void>;
92
+ result: AgentResponse | null;
93
+ isLoading: boolean;
94
+ error: Error | null;
95
+ reset: () => void;
96
+ }
97
+ //# 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,56 @@
1
+ {
2
+ "name": "@cogitator-ai/next",
3
+ "version": "0.2.0",
4
+ "description": "Next.js integration for Cogitator AI runtime",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./client": {
14
+ "types": "./dist/client/index.d.ts",
15
+ "import": "./dist/client/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "README.md"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "dev": "tsc --watch",
25
+ "typecheck": "tsc --noEmit",
26
+ "clean": "rm -rf dist"
27
+ },
28
+ "dependencies": {
29
+ "@cogitator-ai/core": "workspace:*",
30
+ "@cogitator-ai/types": "workspace:*"
31
+ },
32
+ "peerDependencies": {
33
+ "next": ">=14.0.0",
34
+ "react": ">=18.0.0"
35
+ },
36
+ "devDependencies": {
37
+ "@types/react": "^18.0.0",
38
+ "next": "^15.0.0",
39
+ "react": "^18.0.0",
40
+ "typescript": "^5.0.0"
41
+ },
42
+ "keywords": [
43
+ "cogitator",
44
+ "ai",
45
+ "agents",
46
+ "nextjs",
47
+ "streaming",
48
+ "llm"
49
+ ],
50
+ "license": "MIT",
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "https://github.com/cogitator-ai/Cogitator-AI.git",
54
+ "directory": "packages/next"
55
+ }
56
+ }