@orq-ai/node 3.9.3 → 3.9.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 (168) hide show
  1. package/README.md +2 -5
  2. package/bin/mcp-server.js +560 -866
  3. package/bin/mcp-server.js.map +36 -36
  4. package/docs/sdks/knowledge/README.md +77 -0
  5. package/examples/README.md +26 -0
  6. package/examples/contactsCreate.example.ts +40 -0
  7. package/examples/package-lock.json +626 -0
  8. package/examples/package.json +18 -0
  9. package/funcs/deploymentsStream.js +7 -7
  10. package/funcs/deploymentsStream.js.map +1 -1
  11. package/funcs/{knowledgeBasesChunkText.d.ts → knowledgeCreate.d.ts} +3 -6
  12. package/funcs/knowledgeCreate.d.ts.map +1 -0
  13. package/funcs/{knowledgeBasesChunkText.js → knowledgeCreate.js} +7 -10
  14. package/funcs/knowledgeCreate.js.map +1 -0
  15. package/jsr.json +1 -1
  16. package/lib/config.d.ts +3 -3
  17. package/lib/config.js +3 -3
  18. package/lib/event-streams.d.ts +4 -10
  19. package/lib/event-streams.d.ts.map +1 -1
  20. package/lib/event-streams.js +110 -194
  21. package/lib/event-streams.js.map +1 -1
  22. package/lib/matchers.d.ts.map +1 -1
  23. package/lib/matchers.js +1 -4
  24. package/lib/matchers.js.map +1 -1
  25. package/mcp-server/mcp-server.js +1 -1
  26. package/mcp-server/server.js +3 -3
  27. package/mcp-server/server.js.map +1 -1
  28. package/mcp-server/tools/knowledgeCreate.d.ts +8 -0
  29. package/mcp-server/tools/knowledgeCreate.d.ts.map +1 -0
  30. package/mcp-server/tools/{knowledgeBasesChunkText.js → knowledgeCreate.js} +8 -10
  31. package/mcp-server/tools/knowledgeCreate.js.map +1 -0
  32. package/models/operations/createcontact.js +2 -2
  33. package/models/operations/createdataset.js +2 -2
  34. package/models/operations/createdatasetitem.js +2 -2
  35. package/models/operations/createdatasource.js +2 -2
  36. package/models/operations/createeval.js +16 -16
  37. package/models/operations/createknowledge.d.ts +426 -0
  38. package/models/operations/createknowledge.d.ts.map +1 -0
  39. package/models/operations/createknowledge.js +431 -0
  40. package/models/operations/createknowledge.js.map +1 -0
  41. package/models/operations/fileget.js +2 -2
  42. package/models/operations/filelist.js +2 -2
  43. package/models/operations/fileupload.js +2 -2
  44. package/models/operations/getevals.js +28 -28
  45. package/models/operations/index.d.ts +1 -1
  46. package/models/operations/index.d.ts.map +1 -1
  47. package/models/operations/index.js +1 -1
  48. package/models/operations/index.js.map +1 -1
  49. package/models/operations/listcontacts.js +2 -2
  50. package/models/operations/listdatasetdatapoints.js +2 -2
  51. package/models/operations/listdatasets.js +2 -2
  52. package/models/operations/listdatasources.js +2 -2
  53. package/models/operations/retrievecontact.js +2 -2
  54. package/models/operations/retrievedatapoint.js +2 -2
  55. package/models/operations/retrievedataset.js +2 -2
  56. package/models/operations/retrievedatasource.js +2 -2
  57. package/models/operations/updatecontact.js +2 -2
  58. package/models/operations/updatedatapoint.js +2 -2
  59. package/models/operations/updatedataset.js +2 -2
  60. package/models/operations/updatedatasource.js +2 -2
  61. package/models/operations/updateeval.js +16 -16
  62. package/models/operations/updateknowledge.d.ts +106 -106
  63. package/models/operations/updateknowledge.d.ts.map +1 -1
  64. package/models/operations/updateknowledge.js +125 -129
  65. package/models/operations/updateknowledge.js.map +1 -1
  66. package/package.json +1 -1
  67. package/packages/orq-rc/README.md +5 -2
  68. package/packages/orq-rc/docs/sdks/knowledge/README.md +0 -87
  69. package/packages/orq-rc/examples/README.md +26 -0
  70. package/packages/orq-rc/examples/contactsCreate.example.ts +40 -0
  71. package/packages/orq-rc/examples/package-lock.json +626 -0
  72. package/packages/orq-rc/examples/package.json +18 -0
  73. package/packages/orq-rc/jsr.json +1 -1
  74. package/packages/orq-rc/package-lock.json +56 -67
  75. package/packages/orq-rc/package.json +3 -3
  76. package/packages/orq-rc/src/funcs/deploymentsStream.ts +7 -8
  77. package/packages/orq-rc/src/lib/config.ts +3 -3
  78. package/packages/orq-rc/src/lib/event-streams.ts +114 -231
  79. package/packages/orq-rc/src/lib/matchers.ts +1 -4
  80. package/packages/orq-rc/src/mcp-server/mcp-server.ts +1 -1
  81. package/packages/orq-rc/src/mcp-server/server.ts +3 -3
  82. package/packages/orq-rc/src/models/operations/chunktext.ts +63 -57
  83. package/packages/orq-rc/src/models/operations/createcontact.ts +2 -2
  84. package/packages/orq-rc/src/models/operations/createdataset.ts +2 -2
  85. package/packages/orq-rc/src/models/operations/createdatasetitem.ts +2 -2
  86. package/packages/orq-rc/src/models/operations/createdatasource.ts +2 -2
  87. package/packages/orq-rc/src/models/operations/createeval.ts +16 -16
  88. package/packages/orq-rc/src/models/operations/fileget.ts +2 -2
  89. package/packages/orq-rc/src/models/operations/filelist.ts +2 -2
  90. package/packages/orq-rc/src/models/operations/fileupload.ts +2 -2
  91. package/packages/orq-rc/src/models/operations/getevals.ts +28 -28
  92. package/packages/orq-rc/src/models/operations/listcontacts.ts +2 -2
  93. package/packages/orq-rc/src/models/operations/listdatasetdatapoints.ts +2 -2
  94. package/packages/orq-rc/src/models/operations/listdatasets.ts +2 -2
  95. package/packages/orq-rc/src/models/operations/listdatasources.ts +2 -2
  96. package/packages/orq-rc/src/models/operations/retrievecontact.ts +2 -2
  97. package/packages/orq-rc/src/models/operations/retrievedatapoint.ts +2 -2
  98. package/packages/orq-rc/src/models/operations/retrievedataset.ts +2 -2
  99. package/packages/orq-rc/src/models/operations/retrievedatasource.ts +2 -2
  100. package/packages/orq-rc/src/models/operations/updatecontact.ts +2 -2
  101. package/packages/orq-rc/src/models/operations/updatedatapoint.ts +2 -2
  102. package/packages/orq-rc/src/models/operations/updatedataset.ts +2 -2
  103. package/packages/orq-rc/src/models/operations/updatedatasource.ts +2 -2
  104. package/packages/orq-rc/src/models/operations/updateeval.ts +16 -16
  105. package/packages/orq-rc/src/sdk/knowledge.ts +0 -18
  106. package/packages/orq-rc/src/sdk/sdk.ts +6 -0
  107. package/sdk/knowledge.d.ts +4 -0
  108. package/sdk/knowledge.d.ts.map +1 -1
  109. package/sdk/knowledge.js +7 -0
  110. package/sdk/knowledge.js.map +1 -1
  111. package/sdk/sdk.d.ts +0 -3
  112. package/sdk/sdk.d.ts.map +1 -1
  113. package/sdk/sdk.js +0 -4
  114. package/sdk/sdk.js.map +1 -1
  115. package/src/funcs/deploymentsStream.ts +7 -8
  116. package/{packages/orq-rc/src/funcs/knowledgeChunkText.ts → src/funcs/knowledgeCreate.ts} +11 -13
  117. package/src/lib/config.ts +3 -3
  118. package/src/lib/event-streams.ts +114 -231
  119. package/src/lib/matchers.ts +1 -4
  120. package/src/mcp-server/mcp-server.ts +1 -1
  121. package/src/mcp-server/server.ts +3 -3
  122. package/src/mcp-server/tools/knowledgeCreate.ts +35 -0
  123. package/src/models/operations/createcontact.ts +2 -2
  124. package/src/models/operations/createdataset.ts +2 -2
  125. package/src/models/operations/createdatasetitem.ts +2 -2
  126. package/src/models/operations/createdatasource.ts +2 -2
  127. package/src/models/operations/createeval.ts +16 -16
  128. package/src/models/operations/createknowledge.ts +846 -0
  129. package/src/models/operations/fileget.ts +2 -2
  130. package/src/models/operations/filelist.ts +2 -2
  131. package/src/models/operations/fileupload.ts +2 -2
  132. package/src/models/operations/getevals.ts +28 -28
  133. package/src/models/operations/index.ts +1 -1
  134. package/src/models/operations/listcontacts.ts +2 -2
  135. package/src/models/operations/listdatasetdatapoints.ts +2 -2
  136. package/src/models/operations/listdatasets.ts +2 -2
  137. package/src/models/operations/listdatasources.ts +2 -2
  138. package/src/models/operations/retrievecontact.ts +2 -2
  139. package/src/models/operations/retrievedatapoint.ts +2 -2
  140. package/src/models/operations/retrievedataset.ts +2 -2
  141. package/src/models/operations/retrievedatasource.ts +2 -2
  142. package/src/models/operations/updatecontact.ts +2 -2
  143. package/src/models/operations/updatedatapoint.ts +2 -2
  144. package/src/models/operations/updatedataset.ts +2 -2
  145. package/src/models/operations/updatedatasource.ts +2 -2
  146. package/src/models/operations/updateeval.ts +16 -16
  147. package/src/models/operations/updateknowledge.ts +266 -206
  148. package/src/sdk/knowledge.ts +15 -0
  149. package/src/sdk/sdk.ts +0 -6
  150. package/funcs/knowledgeBasesChunkText.d.ts.map +0 -1
  151. package/funcs/knowledgeBasesChunkText.js.map +0 -1
  152. package/mcp-server/tools/knowledgeBasesChunkText.d.ts +0 -8
  153. package/mcp-server/tools/knowledgeBasesChunkText.d.ts.map +0 -1
  154. package/mcp-server/tools/knowledgeBasesChunkText.js.map +0 -1
  155. package/models/operations/chunktext.d.ts +0 -961
  156. package/models/operations/chunktext.d.ts.map +0 -1
  157. package/models/operations/chunktext.js +0 -883
  158. package/models/operations/chunktext.js.map +0 -1
  159. package/packages/orq-rc/src/mcp-server/tools/knowledgeChunkText.ts +0 -37
  160. package/sdk/knowledgebases.d.ts +0 -12
  161. package/sdk/knowledgebases.d.ts.map +0 -1
  162. package/sdk/knowledgebases.js +0 -22
  163. package/sdk/knowledgebases.js.map +0 -1
  164. package/src/models/operations/chunktext.ts +0 -1629
  165. /package/{docs → packages/orq-rc/docs}/sdks/knowledgebases/README.md +0 -0
  166. /package/{src → packages/orq-rc/src}/funcs/knowledgeBasesChunkText.ts +0 -0
  167. /package/{src → packages/orq-rc/src}/mcp-server/tools/knowledgeBasesChunkText.ts +0 -0
  168. /package/{src → packages/orq-rc/src}/sdk/knowledgebases.ts +0 -0
@@ -5,260 +5,143 @@
5
5
  export type ServerEvent<T> = {
6
6
  data?: T | undefined;
7
7
  event?: string | undefined;
8
- retry?: number | undefined;
9
8
  id?: string | undefined;
9
+ retry?: number | undefined;
10
10
  };
11
- const LF = 0x0a;
12
- const CR = 0x0d;
13
- const NEWLINE_CHARS = new Set([LF, CR]);
14
- const MESSAGE_BOUNDARIES = [
15
- new Uint8Array([CR, LF, CR, LF]),
16
- new Uint8Array([CR, CR]),
17
- new Uint8Array([LF, LF]),
18
- ];
19
-
20
- export class EventStream<Event extends ServerEvent<unknown>> {
21
- private readonly stream: ReadableStream<Uint8Array>;
22
- private readonly decoder: (rawEvent: ServerEvent<string>) => Event;
23
-
24
- constructor(init: {
25
- stream: ReadableStream<Uint8Array>;
26
- decoder: (rawEvent: ServerEvent<string>) => Event;
27
- }) {
28
- this.stream = init.stream;
29
- this.decoder = init.decoder;
30
- }
31
-
32
- async *[Symbol.asyncIterator](): AsyncGenerator<Event, void, unknown> {
33
- const reader = this.stream.getReader();
34
- let buffer = new Uint8Array([]);
35
- let position = 0;
36
-
37
- try {
38
- while (true) {
39
- const { done, value } = await reader.read();
40
- if (done) {
41
- break;
42
- }
43
-
44
- const newBuffer = new Uint8Array(buffer.length + value.length);
45
- newBuffer.set(buffer);
46
- newBuffer.set(value, buffer.length);
47
- buffer = newBuffer;
48
-
49
- for (let i = position; i < buffer.length; i++) {
50
- const boundary = findBoundary(buffer, i);
51
- if (boundary == null) {
52
- continue;
53
- }
54
11
 
55
- const chunk = buffer.slice(position, i);
56
- position = i + boundary.length;
57
- const event = parseEvent(chunk, this.decoder);
58
- if (event != null) {
59
- yield event;
12
+ export class EventStream<T extends ServerEvent<unknown>>
13
+ extends ReadableStream<T>
14
+ {
15
+ constructor(
16
+ stream: ReadableStream<Uint8Array>,
17
+ parse: (x: ServerEvent<string>) => IteratorResult<T, undefined>,
18
+ ) {
19
+ const reader = stream.getReader();
20
+ let buffer: Uint8Array = new Uint8Array();
21
+ super({
22
+ async pull(controller) {
23
+ try {
24
+ const r = await reader.read();
25
+ if (r.done) return controller.close();
26
+ buffer = concatBuffer(buffer, r.value);
27
+ for (const { chunk, remainder } of chunks(buffer)) {
28
+ buffer = remainder;
29
+ const item = parseChunk(chunk, parse);
30
+ if (item?.value) controller.enqueue(item.value);
31
+ if (item?.done) {
32
+ await reader.cancel("done");
33
+ return controller.close();
34
+ }
60
35
  }
36
+ } catch (e) {
37
+ await reader.cancel(e);
38
+ controller.error(e);
61
39
  }
40
+ },
41
+ cancel: reason => reader.cancel(reason),
42
+ });
43
+ }
62
44
 
63
- if (position > 0) {
64
- buffer = buffer.slice(position);
65
- position = 0;
66
- }
67
- }
68
-
69
- if (buffer.length > 0) {
70
- const event = parseEvent(buffer, this.decoder);
71
- if (event != null) {
72
- yield event;
45
+ // Polyfill for older browsers
46
+ [Symbol.asyncIterator](): AsyncIterableIterator<T, void, unknown> {
47
+ const fn = (ReadableStream.prototype as any)[Symbol.asyncIterator];
48
+ if (typeof fn === "function") return fn.call(this);
49
+ const reader = this.getReader();
50
+ return {
51
+ next: async () => {
52
+ const r = await reader.read();
53
+ if (r.done) {
54
+ reader.releaseLock();
55
+ return { done: true, value: undefined };
73
56
  }
74
- }
75
- } catch (e: unknown) {
76
- if (e instanceof Error && e.name === "AbortError") {
77
- return;
78
- }
79
-
80
- throw e;
81
- } finally {
82
- reader.releaseLock();
83
- }
57
+ return { done: false, value: r.value };
58
+ },
59
+ throw: async (e) => {
60
+ await reader.cancel(e);
61
+ reader.releaseLock();
62
+ return { done: true, value: undefined };
63
+ },
64
+ return: async () => {
65
+ await reader.cancel("done");
66
+ reader.releaseLock();
67
+ return { done: true, value: undefined };
68
+ },
69
+ [Symbol.asyncIterator]() {
70
+ return this;
71
+ },
72
+ };
84
73
  }
85
74
  }
86
75
 
87
- function findBoundary(buffer: Uint8Array, start: number): Uint8Array | null {
88
- const char1 = buffer[start];
89
- const char2 = buffer[start + 1];
90
-
91
- // Don't bother checking if the first two characters are not new line
92
- // characters.
93
- if (
94
- char1 == null
95
- || char2 == null
96
- || !NEWLINE_CHARS.has(char1)
97
- || !NEWLINE_CHARS.has(char2)
98
- ) {
99
- return null;
100
- }
76
+ function concatBuffer(a: Uint8Array, b: Uint8Array): Uint8Array {
77
+ const c = new Uint8Array(a.length + b.length);
78
+ c.set(a, 0);
79
+ c.set(b, a.length);
80
+ return c;
81
+ }
101
82
 
102
- for (const s of MESSAGE_BOUNDARIES) {
103
- const seq = peekSequence(start, buffer, s);
104
- if (seq != null) {
105
- return seq;
83
+ /** Finds the first (CR,LF,CR,LF) or (CR,CR) or (LF,LF) */
84
+ function findBoundary(
85
+ buf: Uint8Array,
86
+ ): { index: number; length: number } | null {
87
+ const len = buf.length;
88
+ for (let i = 0; i < len; i++) {
89
+ if (
90
+ i <= len - 4
91
+ && buf[i] === 13 && buf[i + 1] === 10 && buf[i + 2] === 13
92
+ && buf[i + 3] === 10
93
+ ) {
94
+ return { index: i, length: 4 };
95
+ }
96
+ if (i <= len - 2 && buf[i] === 13 && buf[i + 1] === 13) {
97
+ return { index: i, length: 2 };
98
+ }
99
+ if (i <= len - 2 && buf[i] === 10 && buf[i + 1] === 10) {
100
+ return { index: i, length: 2 };
106
101
  }
107
102
  }
108
-
109
103
  return null;
110
104
  }
111
105
 
112
- function peekSequence(
113
- position: number,
114
- buffer: Uint8Array,
115
- sequence: Uint8Array,
116
- ): Uint8Array | null {
117
- if (sequence.length > buffer.length - position) {
118
- return null;
119
- }
120
-
121
- for (let i = 0; i < sequence.length; i++) {
122
- if (buffer[position + i] !== sequence[i]) {
123
- return null;
106
+ function* chunks(
107
+ remainder: Uint8Array,
108
+ ): Generator<{ chunk: Uint8Array; remainder: Uint8Array }> {
109
+ while (true) {
110
+ const match = findBoundary(remainder);
111
+ if (!match) {
112
+ yield { chunk: new Uint8Array(), remainder };
113
+ return;
124
114
  }
115
+ const chunk = remainder.slice(0, match.index);
116
+ remainder = remainder.slice(match.index + match.length);
117
+ yield { chunk, remainder };
125
118
  }
126
-
127
- return sequence;
128
119
  }
129
120
 
130
- function parseEvent<Event extends ServerEvent<unknown>>(
121
+ function parseChunk<T extends ServerEvent<unknown>>(
131
122
  chunk: Uint8Array,
132
- decoder: (rawEvent: ServerEvent<string>) => Event,
123
+ parse: (x: ServerEvent<string>) => IteratorResult<T, undefined>,
133
124
  ) {
134
- if (!chunk.length) {
135
- return null;
136
- }
137
-
138
- const td = new TextDecoder();
139
- const raw = td.decode(chunk);
140
- const lines = raw.split(/\r?\n|\r/g);
141
- let publish = false;
142
- const rawEvent: ServerEvent<string> = {};
143
-
125
+ const text = new TextDecoder().decode(chunk);
126
+ const lines = text.split(/\r\n|\r|\n/);
127
+ const dataLines: string[] = [];
128
+ const ret: ServerEvent<string> = {};
129
+ let ignore = true;
144
130
  for (const line of lines) {
145
- if (!line) {
146
- continue;
147
- }
148
-
149
- const delim = line.indexOf(":");
150
- // Lines starting with a colon are ignored.
151
- if (delim === 0) {
152
- continue;
153
- }
154
-
155
- const field = delim > 0 ? line.substring(0, delim) : "";
156
- let value = delim > 0 ? line.substring(delim + 1) : "";
157
- if (value.charAt(0) === " ") {
158
- value = value.substring(1);
131
+ if (!line || line.startsWith(":")) continue;
132
+ ignore = false;
133
+ const i = line.indexOf(":");
134
+ const field = line.slice(0, i);
135
+ const value = line[i + 1] === " " ? line.slice(i + 2) : line.slice(i + 1);
136
+ if (field === "data") dataLines.push(value);
137
+ else if (field === "event") ret.event = value;
138
+ else if (field === "id") ret.id = value;
139
+ else if (field === "retry") {
140
+ const n = Number(value);
141
+ if (!isNaN(n)) ret.retry = n;
159
142
  }
160
-
161
- switch (field) {
162
- case "event": {
163
- publish = true;
164
- rawEvent.event = value;
165
- break;
166
- }
167
- case "data": {
168
- publish = true;
169
- rawEvent.data ??= "";
170
- rawEvent.data += value + "\n";
171
- break;
172
- }
173
- case "id": {
174
- publish = true;
175
- rawEvent.id = value;
176
- break;
177
- }
178
- case "retry": {
179
- const r = parseInt(value, 10);
180
- if (!Number.isNaN(r)) {
181
- publish = true;
182
- rawEvent.retry = r;
183
- }
184
- break;
185
- }
186
- }
187
- }
188
-
189
- if (!publish) {
190
- return null;
191
- }
192
-
193
- if (rawEvent.data != null) {
194
- rawEvent.data = rawEvent.data.slice(0, -1);
195
143
  }
196
-
197
- return decoder(rawEvent);
198
- }
199
-
200
- export function discardSentinel(
201
- stream: ReadableStream<Uint8Array>,
202
- sentinel: string,
203
- ): ReadableStream<Uint8Array> {
204
- return new ReadableStream<Uint8Array>({
205
- async start(controller) {
206
- let buffer = new Uint8Array([]);
207
- let position = 0;
208
- let done = false;
209
- let discard = false;
210
- const rdr = stream.getReader();
211
- try {
212
- while (!done) {
213
- const result = await rdr.read();
214
- const value = result.value;
215
- done = done || result.done;
216
- // We keep consuming from the source to its completion so it can
217
- // flush all its contents and release resources.
218
- if (discard) {
219
- continue;
220
- }
221
- if (typeof value === "undefined") {
222
- continue;
223
- }
224
-
225
- const newBuffer = new Uint8Array(buffer.length + value.length);
226
- newBuffer.set(buffer);
227
- newBuffer.set(value, buffer.length);
228
- buffer = newBuffer;
229
-
230
- for (let i = position; i < buffer.length; i++) {
231
- const boundary = findBoundary(buffer, i);
232
- if (boundary == null) {
233
- continue;
234
- }
235
-
236
- const start = position;
237
- const chunk = buffer.slice(start, i);
238
- position = i + boundary.length;
239
- const event = parseEvent(chunk, id);
240
- if (event?.data === sentinel) {
241
- controller.enqueue(buffer.slice(0, start));
242
- discard = true;
243
- } else {
244
- controller.enqueue(buffer.slice(0, position));
245
- buffer = buffer.slice(position);
246
- position = 0;
247
- }
248
- }
249
- }
250
- } catch (e) {
251
- controller.error(e);
252
- } finally {
253
- // If the source stream terminates, flush its contents and terminate.
254
- // If the sentinel event was found, flush everything up to its start.
255
- controller.close();
256
- rdr.releaseLock();
257
- }
258
- },
259
- });
260
- }
261
-
262
- function id<T>(v: T): T {
263
- return v;
144
+ if (ignore) return;
145
+ if (dataLines.length) ret.data = dataLines.join("\n");
146
+ return parse(ret);
264
147
  }
@@ -5,7 +5,6 @@
5
5
  import { APIError } from "../models/errors/apierror.js";
6
6
  import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
7
  import { ERR, OK, Result } from "../types/fp.js";
8
- import { discardSentinel } from "./event-streams.js";
9
8
  import { matchResponse, matchStatusCode, StatusCodePredicate } from "./http.js";
10
9
  import { isPlainObject } from "./is-plain-object.js";
11
10
 
@@ -238,9 +237,7 @@ export function match<T, E>(
238
237
  raw = body;
239
238
  break;
240
239
  case "sse":
241
- raw = response.body && matcher.sseSentinel
242
- ? discardSentinel(response.body, matcher.sseSentinel)
243
- : response.body;
240
+ raw = response.body;
244
241
  break;
245
242
  case "nil":
246
243
  body = await response.text();
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "3.9.3",
22
+ currentVersion: "3.9.5",
23
23
  },
24
24
  });
25
25
 
@@ -81,7 +81,7 @@ import { tool$filesCreate } from "./tools/filesCreate.js";
81
81
  import { tool$filesDelete } from "./tools/filesDelete.js";
82
82
  import { tool$filesGet } from "./tools/filesGet.js";
83
83
  import { tool$filesList } from "./tools/filesList.js";
84
- import { tool$knowledgeBasesChunkText } from "./tools/knowledgeBasesChunkText.js";
84
+ import { tool$knowledgeCreate } from "./tools/knowledgeCreate.js";
85
85
  import { tool$knowledgeCreateChunks } from "./tools/knowledgeCreateChunks.js";
86
86
  import { tool$knowledgeCreateDatasource } from "./tools/knowledgeCreateDatasource.js";
87
87
  import { tool$knowledgeDelete } from "./tools/knowledgeDelete.js";
@@ -119,7 +119,7 @@ export function createMCPServer(deps: {
119
119
  }) {
120
120
  const server = new McpServer({
121
121
  name: "Orq",
122
- version: "3.9.3",
122
+ version: "3.9.5",
123
123
  });
124
124
 
125
125
  const client = new OrqCore({
@@ -186,6 +186,7 @@ export function createMCPServer(deps: {
186
186
  tool(tool$datasetsDeleteDatapoint);
187
187
  tool(tool$datasetsClear);
188
188
  tool(tool$knowledgeList);
189
+ tool(tool$knowledgeCreate);
189
190
  tool(tool$knowledgeRetrieve);
190
191
  tool(tool$knowledgeUpdate);
191
192
  tool(tool$knowledgeDelete);
@@ -200,7 +201,6 @@ export function createMCPServer(deps: {
200
201
  tool(tool$knowledgeUpdateChunk);
201
202
  tool(tool$knowledgeDeleteChunk);
202
203
  tool(tool$knowledgeRetrieveChunk);
203
- tool(tool$knowledgeBasesChunkText);
204
204
  tool(tool$evalsAll);
205
205
  tool(tool$evalsCreate);
206
206
  tool(tool$evalsUpdate);
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { knowledgeCreate } from "../../funcs/knowledgeCreate.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.CreateKnowledgeRequestBody$inboundSchema,
11
+ };
12
+
13
+ export const tool$knowledgeCreate: ToolDefinition<typeof args> = {
14
+ name: "knowledge-create",
15
+ description: `Create a knowledge`,
16
+ args,
17
+ tool: async (client, args, ctx) => {
18
+ const [result, apiCall] = await knowledgeCreate(
19
+ client,
20
+ args.request,
21
+ { fetchOptions: { signal: ctx.signal } },
22
+ ).$inspect();
23
+
24
+ if (!result.ok) {
25
+ return {
26
+ content: [{ type: "text", text: result.error.message }],
27
+ isError: true,
28
+ };
29
+ }
30
+
31
+ const value = result.value;
32
+
33
+ return formatResult(value, apiCall);
34
+ },
35
+ };
@@ -182,7 +182,7 @@ export const CreateContactResponseBody$inboundSchema: z.ZodType<
182
182
  created: z.string().datetime({ offset: true }).transform(v => new Date(v))
183
183
  .optional(),
184
184
  updated: z.string().datetime({ offset: true }).default(
185
- "2025-07-03T19:32:36.817Z",
185
+ "2025-07-09T18:59:26.904Z",
186
186
  ).transform(v => new Date(v)),
187
187
  }).transform((v) => {
188
188
  return remap$(v, {
@@ -223,7 +223,7 @@ export const CreateContactResponseBody$outboundSchema: z.ZodType<
223
223
  tags: z.array(z.string()).optional(),
224
224
  metadata: z.record(z.any()).optional(),
225
225
  created: z.date().transform(v => v.toISOString()).optional(),
226
- updated: z.date().default(() => new Date("2025-07-03T19:32:36.817Z"))
226
+ updated: z.date().default(() => new Date("2025-07-09T18:59:26.904Z"))
227
227
  .transform(v => v.toISOString()),
228
228
  }).transform((v) => {
229
229
  return remap$(v, {
@@ -211,7 +211,7 @@ export const CreateDatasetResponseBody$inboundSchema: z.ZodType<
211
211
  created: z.string().datetime({ offset: true }).transform(v => new Date(v))
212
212
  .optional(),
213
213
  updated: z.string().datetime({ offset: true }).default(
214
- "2025-07-03T19:32:36.817Z",
214
+ "2025-07-09T18:59:26.904Z",
215
215
  ).transform(v => new Date(v)),
216
216
  }).transform((v) => {
217
217
  return remap$(v, {
@@ -251,7 +251,7 @@ export const CreateDatasetResponseBody$outboundSchema: z.ZodType<
251
251
  updatedById: z.string().optional(),
252
252
  metadata: z.lazy(() => CreateDatasetMetadata$outboundSchema),
253
253
  created: z.date().transform(v => v.toISOString()).optional(),
254
- updated: z.date().default(() => new Date("2025-07-03T19:32:36.817Z"))
254
+ updated: z.date().default(() => new Date("2025-07-09T18:59:26.904Z"))
255
255
  .transform(v => v.toISOString()),
256
256
  }).transform((v) => {
257
257
  return remap$(v, {
@@ -5111,7 +5111,7 @@ export const CreateDatasetItemResponseBody$inboundSchema: z.ZodType<
5111
5111
  created: z.string().datetime({ offset: true }).transform(v => new Date(v))
5112
5112
  .optional(),
5113
5113
  updated: z.string().datetime({ offset: true }).default(
5114
- "2025-07-03T19:32:36.817Z",
5114
+ "2025-07-09T18:59:26.904Z",
5115
5115
  ).transform(v => new Date(v)),
5116
5116
  }).transform((v) => {
5117
5117
  return remap$(v, {
@@ -5175,7 +5175,7 @@ export const CreateDatasetItemResponseBody$outboundSchema: z.ZodType<
5175
5175
  createdById: z.string().optional(),
5176
5176
  updatedById: z.string().optional(),
5177
5177
  created: z.date().transform(v => v.toISOString()).optional(),
5178
- updated: z.date().default(() => new Date("2025-07-03T19:32:36.817Z"))
5178
+ updated: z.date().default(() => new Date("2025-07-09T18:59:26.904Z"))
5179
5179
  .transform(v => v.toISOString()),
5180
5180
  }).transform((v) => {
5181
5181
  return remap$(v, {
@@ -751,7 +751,7 @@ export const CreateDatasourceResponseBody$inboundSchema: z.ZodType<
751
751
  z.ZodTypeDef,
752
752
  unknown
753
753
  > = z.object({
754
- _id: z.string().default("01JZ8WDVTT3G9XM8PHB91TZPBC"),
754
+ _id: z.string().default("01JZR8XF2W2CY6V5YRYHDWWMEG"),
755
755
  display_name: z.string(),
756
756
  description: z.string().optional(),
757
757
  status: CreateDatasourceStatus$inboundSchema,
@@ -795,7 +795,7 @@ export const CreateDatasourceResponseBody$outboundSchema: z.ZodType<
795
795
  z.ZodTypeDef,
796
796
  CreateDatasourceResponseBody
797
797
  > = z.object({
798
- id: z.string().default("01JZ8WDVTT3G9XM8PHB91TZPBC"),
798
+ id: z.string().default("01JZR8XF2W2CY6V5YRYHDWWMEG"),
799
799
  displayName: z.string(),
800
800
  description: z.string().optional(),
801
801
  status: CreateDatasourceStatus$outboundSchema,
@@ -2399,8 +2399,8 @@ export const ResponseBodyPython$inboundSchema: z.ZodType<
2399
2399
  > = z.object({
2400
2400
  _id: z.string(),
2401
2401
  description: z.string(),
2402
- created: z.string().default("2025-07-03T19:32:39.016Z"),
2403
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
2402
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
2403
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
2404
2404
  guardrail_config: z.union([
2405
2405
  z.lazy(() =>
2406
2406
  CreateEvalGuardrailConfigEvalsResponse200ApplicationJSONResponseBodyNumber$inboundSchema
@@ -2442,8 +2442,8 @@ export const ResponseBodyPython$outboundSchema: z.ZodType<
2442
2442
  > = z.object({
2443
2443
  id: z.string(),
2444
2444
  description: z.string(),
2445
- created: z.string().default("2025-07-03T19:32:39.016Z"),
2446
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
2445
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
2446
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
2447
2447
  guardrailConfig: z.union([
2448
2448
  z.lazy(() =>
2449
2449
  CreateEvalGuardrailConfigEvalsResponse200ApplicationJSONResponseBodyNumber$outboundSchema
@@ -2856,8 +2856,8 @@ export const ResponseBodyHTTP$inboundSchema: z.ZodType<
2856
2856
  > = z.object({
2857
2857
  _id: z.string(),
2858
2858
  description: z.string(),
2859
- created: z.string().default("2025-07-03T19:32:39.016Z"),
2860
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
2859
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
2860
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
2861
2861
  guardrail_config: z.union([
2862
2862
  z.lazy(() =>
2863
2863
  CreateEvalGuardrailConfigEvalsResponse200ApplicationJSONNumber$inboundSchema
@@ -2905,8 +2905,8 @@ export const ResponseBodyHTTP$outboundSchema: z.ZodType<
2905
2905
  > = z.object({
2906
2906
  id: z.string(),
2907
2907
  description: z.string(),
2908
- created: z.string().default("2025-07-03T19:32:39.016Z"),
2909
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
2908
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
2909
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
2910
2910
  guardrailConfig: z.union([
2911
2911
  z.lazy(() =>
2912
2912
  CreateEvalGuardrailConfigEvalsResponse200ApplicationJSONNumber$outboundSchema
@@ -3283,8 +3283,8 @@ export const ResponseBodyJSON$inboundSchema: z.ZodType<
3283
3283
  > = z.object({
3284
3284
  _id: z.string(),
3285
3285
  description: z.string(),
3286
- created: z.string().default("2025-07-03T19:32:39.016Z"),
3287
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
3286
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
3287
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
3288
3288
  guardrail_config: z.union([
3289
3289
  z.lazy(() => CreateEvalGuardrailConfigEvalsResponse200Number$inboundSchema),
3290
3290
  z.lazy(() =>
@@ -3324,8 +3324,8 @@ export const ResponseBodyJSON$outboundSchema: z.ZodType<
3324
3324
  > = z.object({
3325
3325
  id: z.string(),
3326
3326
  description: z.string(),
3327
- created: z.string().default("2025-07-03T19:32:39.016Z"),
3328
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
3327
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
3328
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
3329
3329
  guardrailConfig: z.union([
3330
3330
  z.lazy(() =>
3331
3331
  CreateEvalGuardrailConfigEvalsResponse200Number$outboundSchema
@@ -3680,8 +3680,8 @@ export const ResponseBodyLLM$inboundSchema: z.ZodType<
3680
3680
  > = z.object({
3681
3681
  _id: z.string(),
3682
3682
  description: z.string(),
3683
- created: z.string().default("2025-07-03T19:32:39.016Z"),
3684
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
3683
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
3684
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
3685
3685
  guardrail_config: z.union([
3686
3686
  z.lazy(() => CreateEvalGuardrailConfigEvalsResponseNumber$inboundSchema),
3687
3687
  z.lazy(() => CreateEvalGuardrailConfigEvalsResponseBoolean$inboundSchema),
@@ -3721,8 +3721,8 @@ export const ResponseBodyLLM$outboundSchema: z.ZodType<
3721
3721
  > = z.object({
3722
3722
  id: z.string(),
3723
3723
  description: z.string(),
3724
- created: z.string().default("2025-07-03T19:32:39.016Z"),
3725
- updated: z.string().default("2025-07-03T19:32:39.016Z"),
3724
+ created: z.string().default("2025-07-09T18:59:29.212Z"),
3725
+ updated: z.string().default("2025-07-09T18:59:29.212Z"),
3726
3726
  guardrailConfig: z.union([
3727
3727
  z.lazy(() => CreateEvalGuardrailConfigEvalsResponseNumber$outboundSchema),
3728
3728
  z.lazy(() => CreateEvalGuardrailConfigEvalsResponseBoolean$outboundSchema),