aparavi-client 1.0.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 (169) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +523 -0
  3. package/dist/aparavi-client-typescript-1.0.0.tgz +0 -0
  4. package/dist/aparavi-client-typescript-1.0.1.tgz +0 -0
  5. package/dist/cjs/client.js +1002 -0
  6. package/dist/cjs/client.js.map +1 -0
  7. package/dist/cjs/constants.js +37 -0
  8. package/dist/cjs/constants.js.map +1 -0
  9. package/dist/cjs/core/DAPBase.js +313 -0
  10. package/dist/cjs/core/DAPBase.js.map +1 -0
  11. package/dist/cjs/core/DAPClient.js +173 -0
  12. package/dist/cjs/core/DAPClient.js.map +1 -0
  13. package/dist/cjs/core/TransportBase.js +131 -0
  14. package/dist/cjs/core/TransportBase.js.map +1 -0
  15. package/dist/cjs/core/TransportWebSocket.js +492 -0
  16. package/dist/cjs/core/TransportWebSocket.js.map +1 -0
  17. package/dist/cjs/exceptions/index.js +109 -0
  18. package/dist/cjs/exceptions/index.js.map +1 -0
  19. package/dist/cjs/index.js +56 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/package.json +3 -0
  22. package/dist/cjs/schema/Doc.js +79 -0
  23. package/dist/cjs/schema/Doc.js.map +1 -0
  24. package/dist/cjs/schema/DocFilter.js +133 -0
  25. package/dist/cjs/schema/DocFilter.js.map +1 -0
  26. package/dist/cjs/schema/DocGroup.js +235 -0
  27. package/dist/cjs/schema/DocGroup.js.map +1 -0
  28. package/dist/cjs/schema/DocMetadata.js +57 -0
  29. package/dist/cjs/schema/DocMetadata.js.map +1 -0
  30. package/dist/cjs/schema/Question.js +414 -0
  31. package/dist/cjs/schema/Question.js.map +1 -0
  32. package/dist/cjs/schema/index.js +50 -0
  33. package/dist/cjs/schema/index.js.map +1 -0
  34. package/dist/cjs/types/client.js +26 -0
  35. package/dist/cjs/types/client.js.map +1 -0
  36. package/dist/cjs/types/data.js +26 -0
  37. package/dist/cjs/types/data.js.map +1 -0
  38. package/dist/cjs/types/events.js +119 -0
  39. package/dist/cjs/types/events.js.map +1 -0
  40. package/dist/cjs/types/index.js +50 -0
  41. package/dist/cjs/types/index.js.map +1 -0
  42. package/dist/cjs/types/pipeline.js +26 -0
  43. package/dist/cjs/types/pipeline.js.map +1 -0
  44. package/dist/cjs/types/task.js +115 -0
  45. package/dist/cjs/types/task.js.map +1 -0
  46. package/dist/cli/cli/aparavi.js +1401 -0
  47. package/dist/cli/cli/aparavi.js.map +1 -0
  48. package/dist/cli/src/client.js +1002 -0
  49. package/dist/cli/src/client.js.map +1 -0
  50. package/dist/cli/src/constants.js +37 -0
  51. package/dist/cli/src/constants.js.map +1 -0
  52. package/dist/cli/src/core/DAPBase.js +313 -0
  53. package/dist/cli/src/core/DAPBase.js.map +1 -0
  54. package/dist/cli/src/core/DAPClient.js +173 -0
  55. package/dist/cli/src/core/DAPClient.js.map +1 -0
  56. package/dist/cli/src/core/TransportBase.js +131 -0
  57. package/dist/cli/src/core/TransportBase.js.map +1 -0
  58. package/dist/cli/src/core/TransportWebSocket.js +492 -0
  59. package/dist/cli/src/core/TransportWebSocket.js.map +1 -0
  60. package/dist/cli/src/exceptions/index.js +109 -0
  61. package/dist/cli/src/exceptions/index.js.map +1 -0
  62. package/dist/cli/src/index.js +56 -0
  63. package/dist/cli/src/index.js.map +1 -0
  64. package/dist/cli/src/schema/Doc.js +79 -0
  65. package/dist/cli/src/schema/Doc.js.map +1 -0
  66. package/dist/cli/src/schema/DocFilter.js +133 -0
  67. package/dist/cli/src/schema/DocFilter.js.map +1 -0
  68. package/dist/cli/src/schema/DocGroup.js +235 -0
  69. package/dist/cli/src/schema/DocGroup.js.map +1 -0
  70. package/dist/cli/src/schema/DocMetadata.js +57 -0
  71. package/dist/cli/src/schema/DocMetadata.js.map +1 -0
  72. package/dist/cli/src/schema/Question.js +414 -0
  73. package/dist/cli/src/schema/Question.js.map +1 -0
  74. package/dist/cli/src/schema/index.js +50 -0
  75. package/dist/cli/src/schema/index.js.map +1 -0
  76. package/dist/cli/src/types/client.js +26 -0
  77. package/dist/cli/src/types/client.js.map +1 -0
  78. package/dist/cli/src/types/data.js +26 -0
  79. package/dist/cli/src/types/data.js.map +1 -0
  80. package/dist/cli/src/types/events.js +119 -0
  81. package/dist/cli/src/types/events.js.map +1 -0
  82. package/dist/cli/src/types/index.js +50 -0
  83. package/dist/cli/src/types/index.js.map +1 -0
  84. package/dist/cli/src/types/pipeline.js +26 -0
  85. package/dist/cli/src/types/pipeline.js.map +1 -0
  86. package/dist/cli/src/types/task.js +115 -0
  87. package/dist/cli/src/types/task.js.map +1 -0
  88. package/dist/esm/client.js +997 -0
  89. package/dist/esm/client.js.map +1 -0
  90. package/dist/esm/constants.js +34 -0
  91. package/dist/esm/constants.js.map +1 -0
  92. package/dist/esm/core/DAPBase.js +309 -0
  93. package/dist/esm/core/DAPBase.js.map +1 -0
  94. package/dist/esm/core/DAPClient.js +169 -0
  95. package/dist/esm/core/DAPClient.js.map +1 -0
  96. package/dist/esm/core/TransportBase.js +127 -0
  97. package/dist/esm/core/TransportBase.js.map +1 -0
  98. package/dist/esm/core/TransportWebSocket.js +488 -0
  99. package/dist/esm/core/TransportWebSocket.js.map +1 -0
  100. package/dist/esm/exceptions/index.js +100 -0
  101. package/dist/esm/exceptions/index.js.map +1 -0
  102. package/dist/esm/index.js +40 -0
  103. package/dist/esm/index.js.map +1 -0
  104. package/dist/esm/package.json +3 -0
  105. package/dist/esm/schema/Doc.js +75 -0
  106. package/dist/esm/schema/Doc.js.map +1 -0
  107. package/dist/esm/schema/DocFilter.js +129 -0
  108. package/dist/esm/schema/DocFilter.js.map +1 -0
  109. package/dist/esm/schema/DocGroup.js +231 -0
  110. package/dist/esm/schema/DocGroup.js.map +1 -0
  111. package/dist/esm/schema/DocMetadata.js +53 -0
  112. package/dist/esm/schema/DocMetadata.js.map +1 -0
  113. package/dist/esm/schema/Question.js +409 -0
  114. package/dist/esm/schema/Question.js.map +1 -0
  115. package/dist/esm/schema/index.js +34 -0
  116. package/dist/esm/schema/index.js.map +1 -0
  117. package/dist/esm/types/client.js +25 -0
  118. package/dist/esm/types/client.js.map +1 -0
  119. package/dist/esm/types/data.js +25 -0
  120. package/dist/esm/types/data.js.map +1 -0
  121. package/dist/esm/types/events.js +116 -0
  122. package/dist/esm/types/events.js.map +1 -0
  123. package/dist/esm/types/index.js +34 -0
  124. package/dist/esm/types/index.js.map +1 -0
  125. package/dist/esm/types/pipeline.js +25 -0
  126. package/dist/esm/types/pipeline.js.map +1 -0
  127. package/dist/esm/types/task.js +112 -0
  128. package/dist/esm/types/task.js.map +1 -0
  129. package/dist/types/client.d.ts +395 -0
  130. package/dist/types/client.d.ts.map +1 -0
  131. package/dist/types/constants.d.ts +34 -0
  132. package/dist/types/constants.d.ts.map +1 -0
  133. package/dist/types/core/DAPBase.d.ts +140 -0
  134. package/dist/types/core/DAPBase.d.ts.map +1 -0
  135. package/dist/types/core/DAPClient.d.ts +83 -0
  136. package/dist/types/core/DAPClient.d.ts.map +1 -0
  137. package/dist/types/core/TransportBase.d.ts +94 -0
  138. package/dist/types/core/TransportBase.d.ts.map +1 -0
  139. package/dist/types/core/TransportWebSocket.d.ts +78 -0
  140. package/dist/types/core/TransportWebSocket.d.ts.map +1 -0
  141. package/dist/types/exceptions/index.d.ts +81 -0
  142. package/dist/types/exceptions/index.d.ts.map +1 -0
  143. package/dist/types/index.d.ts +36 -0
  144. package/dist/types/index.d.ts.map +1 -0
  145. package/dist/types/schema/Doc.d.ts +69 -0
  146. package/dist/types/schema/Doc.d.ts.map +1 -0
  147. package/dist/types/schema/DocFilter.d.ts +101 -0
  148. package/dist/types/schema/DocFilter.d.ts.map +1 -0
  149. package/dist/types/schema/DocGroup.d.ts +113 -0
  150. package/dist/types/schema/DocGroup.d.ts.map +1 -0
  151. package/dist/types/schema/DocMetadata.d.ts +61 -0
  152. package/dist/types/schema/DocMetadata.d.ts.map +1 -0
  153. package/dist/types/schema/Question.d.ts +163 -0
  154. package/dist/types/schema/Question.d.ts.map +1 -0
  155. package/dist/types/schema/index.d.ts +34 -0
  156. package/dist/types/schema/index.d.ts.map +1 -0
  157. package/dist/types/types/client.d.ts +140 -0
  158. package/dist/types/types/client.d.ts.map +1 -0
  159. package/dist/types/types/data.d.ts +95 -0
  160. package/dist/types/types/data.d.ts.map +1 -0
  161. package/dist/types/types/events.d.ts +246 -0
  162. package/dist/types/types/events.d.ts.map +1 -0
  163. package/dist/types/types/index.d.ts +34 -0
  164. package/dist/types/types/index.d.ts.map +1 -0
  165. package/dist/types/types/pipeline.d.ts +61 -0
  166. package/dist/types/types/pipeline.d.ts.map +1 -0
  167. package/dist/types/types/task.d.ts +265 -0
  168. package/dist/types/types/task.d.ts.map +1 -0
  169. package/package.json +75 -0
@@ -0,0 +1,409 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ /**
25
+ * Defines different types of questions and queries you can ask.
26
+ */
27
+ export var QuestionType;
28
+ (function (QuestionType) {
29
+ QuestionType["QUESTION"] = "question";
30
+ QuestionType["SEMANTIC"] = "semantic";
31
+ QuestionType["KEYWORD"] = "keyword";
32
+ QuestionType["GET"] = "get";
33
+ QuestionType["PROMPT"] = "prompt";
34
+ })(QuestionType || (QuestionType = {}));
35
+ /**
36
+ * Handles AI responses from Aparavi chat operations.
37
+ */
38
+ export class Answer {
39
+ constructor(expectJson = false) {
40
+ this.expectJson = expectJson;
41
+ }
42
+ /**
43
+ * Parse AI response text into JSON structure.
44
+ */
45
+ static parseJson(value) {
46
+ // Clean up the response text
47
+ let cleanValue = value.trim()
48
+ .replace(/\r/g, '')
49
+ .replace(/\n/g, '')
50
+ .replace(/\t/g, ' ');
51
+ // Remove JSON code block markers if present
52
+ let offset = cleanValue.indexOf('```json');
53
+ if (offset >= 0) {
54
+ cleanValue = cleanValue.substring(offset + 7).trim();
55
+ offset = cleanValue.lastIndexOf('```');
56
+ if (offset >= 0) {
57
+ cleanValue = cleanValue.substring(0, offset).trim();
58
+ }
59
+ }
60
+ // Remove generic code block markers
61
+ offset = cleanValue.indexOf('```');
62
+ if (offset >= 0) {
63
+ cleanValue = cleanValue.substring(offset + 3).trim();
64
+ offset = cleanValue.lastIndexOf('```');
65
+ if (offset >= 0) {
66
+ cleanValue = cleanValue.substring(0, offset).trim();
67
+ }
68
+ }
69
+ // Remove AI thinking steps (common with some models)
70
+ // Use a more compatible approach instead of the 's' flag
71
+ cleanValue = cleanValue.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
72
+ // Parse the cleaned JSON
73
+ return JSON.parse(cleanValue);
74
+ }
75
+ /**
76
+ * Extract Python code from AI response.
77
+ */
78
+ static parsePython(value) {
79
+ let offset = value.indexOf('```python');
80
+ if (offset >= 0) {
81
+ value = value.substring(offset + 9);
82
+ offset = value.lastIndexOf('```');
83
+ if (offset >= 0) {
84
+ value = value.substring(0, offset);
85
+ }
86
+ }
87
+ return value;
88
+ }
89
+ /**
90
+ * Set the AI response value (used internally by the system).
91
+ */
92
+ setAnswer(value) {
93
+ if (this.expectJson) {
94
+ if (typeof value === 'object') {
95
+ this.answer = value;
96
+ return;
97
+ }
98
+ if (typeof value === 'string') {
99
+ try {
100
+ this.answer = Answer.parseJson(value);
101
+ return;
102
+ }
103
+ catch (error) {
104
+ throw new Error('Expected a JSON-compatible answer (object or array).');
105
+ }
106
+ }
107
+ throw new Error('Expected a JSON-compatible answer (object or array).');
108
+ }
109
+ else {
110
+ if (typeof value === 'object') {
111
+ this.answer = JSON.stringify(value);
112
+ return;
113
+ }
114
+ if (typeof value === 'string') {
115
+ this.answer = value;
116
+ return;
117
+ }
118
+ throw new Error('Answer must be text, object, or array.');
119
+ }
120
+ }
121
+ /**
122
+ * Get the response as plain text.
123
+ */
124
+ getText() {
125
+ if (this.answer === undefined || this.answer === null) {
126
+ return '';
127
+ }
128
+ if (typeof this.answer === 'object') {
129
+ return JSON.stringify(this.answer);
130
+ }
131
+ return String(this.answer);
132
+ }
133
+ /**
134
+ * Get the response as structured JSON data.
135
+ */
136
+ getJson() {
137
+ if (this.answer === undefined || this.answer === null) {
138
+ return null;
139
+ }
140
+ if (typeof this.answer === 'object') {
141
+ return this.answer;
142
+ }
143
+ try {
144
+ return JSON.parse(String(this.answer));
145
+ }
146
+ catch (error) {
147
+ throw new Error('Answer is not in JSON format.');
148
+ }
149
+ }
150
+ /**
151
+ * Check if this answer contains JSON data.
152
+ */
153
+ isJson() {
154
+ return this.expectJson;
155
+ }
156
+ }
157
+ /**
158
+ * Main class for asking questions to Aparavi's AI system.
159
+ */
160
+ export class Question {
161
+ constructor(options = {}) {
162
+ this.type = QuestionType.SEMANTIC;
163
+ this.expectJson = false;
164
+ this.role = '';
165
+ this.instructions = [];
166
+ this.history = [];
167
+ this.examples = [];
168
+ this.context = [];
169
+ this.documents = [];
170
+ this.questions = [];
171
+ this.type = options.type || QuestionType.SEMANTIC;
172
+ this.filter = options.filter || {
173
+ fullTables: false,
174
+ fullDocuments: false,
175
+ offset: 0,
176
+ limit: 25,
177
+ useQuickRank: false,
178
+ useGroupRank: false,
179
+ followUpQuestions: 5,
180
+ context: false
181
+ };
182
+ this.expectJson = options.expectJson || false;
183
+ this.role = options.role || '';
184
+ }
185
+ /**
186
+ * Add a custom instruction to guide the AI's response.
187
+ */
188
+ addInstruction(title, instruction) {
189
+ this.instructions.push({
190
+ subtitle: title,
191
+ instructions: instruction
192
+ });
193
+ }
194
+ /**
195
+ * Add an example to show the AI the kind of response you want.
196
+ */
197
+ addExample(given, result) {
198
+ const resultString = typeof result === 'object'
199
+ ? JSON.stringify(result)
200
+ : String(result);
201
+ this.examples.push({
202
+ given,
203
+ result: resultString
204
+ });
205
+ }
206
+ /**
207
+ * Add context information to help the AI understand your question better.
208
+ */
209
+ addContext(context) {
210
+ const contextItems = Array.isArray(context) ? context : [context];
211
+ for (const item of contextItems) {
212
+ if (typeof item === 'string') {
213
+ this.context.push(item);
214
+ }
215
+ else if (typeof item === 'object') {
216
+ this.context.push(String(item));
217
+ }
218
+ else {
219
+ throw new Error(`Context item must be string or object, not ${typeof item}`);
220
+ }
221
+ }
222
+ }
223
+ /**
224
+ * Add a conversation history item for multi-turn chat.
225
+ */
226
+ addHistory(item) {
227
+ this.history.push(item);
228
+ }
229
+ /**
230
+ * Add a question to ask the AI.
231
+ */
232
+ addQuestion(question) {
233
+ this.questions.push({ text: question });
234
+ }
235
+ /**
236
+ * Add specific documents for the AI to reference.
237
+ */
238
+ addDocuments(documents) {
239
+ const docArray = Array.isArray(documents) ? documents : [documents];
240
+ for (const item of docArray) {
241
+ if (typeof item === 'string') {
242
+ this.documents.push({
243
+ type: 'Document',
244
+ page_content: item,
245
+ metadata: { objectId: '', chunkId: 0 }
246
+ });
247
+ }
248
+ else {
249
+ this.documents.push(item);
250
+ }
251
+ }
252
+ }
253
+ /**
254
+ * Generate the complete prompt text for the AI (used internally).
255
+ */
256
+ getPrompt(hasPreviousJsonFailed = false) {
257
+ const crlf = '\r\n';
258
+ let prompt = '';
259
+ // Helper functions for formatting different sections
260
+ let instructionId = 0;
261
+ let hasOutputInstructions = false;
262
+ const addPromptInstruction = (instruction) => {
263
+ if (!hasOutputInstructions) {
264
+ prompt += '### Instructions:' + crlf;
265
+ hasOutputInstructions = true;
266
+ }
267
+ prompt += ` ${instructionId + 1}) **${instruction.subtitle.trim()}**: ${instruction.instructions.trim()}` + crlf + crlf;
268
+ instructionId++;
269
+ };
270
+ let exampleId = 0;
271
+ const addPromptExample = (example) => {
272
+ const jsonBegin = this.expectJson ? '```json' + crlf : '';
273
+ const jsonEnd = this.expectJson ? '```' + crlf : '';
274
+ prompt += ` Example ${exampleId + 1}` + crlf;
275
+ prompt += ` **Given**: ${example.given.trim()}` + crlf;
276
+ prompt += ` **Expected output**: ${jsonBegin}${example.result.trim()}${jsonEnd}`;
277
+ exampleId++;
278
+ };
279
+ let contextId = 0;
280
+ let hasOutputContext = false;
281
+ const addPromptContext = (context) => {
282
+ if (!hasOutputContext) {
283
+ prompt += '### Context:' + crlf;
284
+ hasOutputContext = true;
285
+ }
286
+ prompt += ` ${contextId + 1}) ${context.trim()}` + crlf + crlf;
287
+ contextId++;
288
+ };
289
+ let documentId = 0;
290
+ let hasOutputDocuments = false;
291
+ const addPromptDocument = (document) => {
292
+ if (!hasOutputDocuments) {
293
+ prompt += '### Documents:' + crlf;
294
+ hasOutputDocuments = true;
295
+ }
296
+ const doc = document.page_content || '';
297
+ prompt += ` Document ${documentId + 1}) Content: ${doc.trim()}` + crlf;
298
+ documentId++;
299
+ };
300
+ // Add role if specified
301
+ if (this.role) {
302
+ prompt += this.role + crlf;
303
+ }
304
+ // Add default instruction if none provided
305
+ if (this.instructions.length === 0) {
306
+ addPromptInstruction({
307
+ subtitle: 'Answer the following questions',
308
+ instructions: 'I will provide the questions listed in order and then documents as context. Use the given context to provide an answer to the questions.'
309
+ });
310
+ }
311
+ // Add all instructions
312
+ for (const instruction of this.instructions) {
313
+ addPromptInstruction(instruction);
314
+ }
315
+ // Add JSON formatting instructions if needed
316
+ if (this.expectJson) {
317
+ addPromptInstruction({
318
+ subtitle: 'JSON Response Format',
319
+ instructions: `
320
+ - Respond **only** with a valid JSON structure.
321
+ - Properly escape all quotes within content strings
322
+ - No additional text, comments, or explanations.
323
+ - Ensure your answer is strictly valid JSON format.
324
+ - Double check the JSON response to ensure it is valid.
325
+ - Enclose the json with \`\`\`\`json\` and \` \`\`\` \` tags.
326
+ `
327
+ });
328
+ if (hasPreviousJsonFailed) {
329
+ addPromptInstruction({
330
+ subtitle: 'CRITICAL',
331
+ instructions: `
332
+ - Your previous response returned invalid JSON.
333
+ - Examine your JSON and ensure it is complete and follows the JSON standards.
334
+ `
335
+ });
336
+ }
337
+ }
338
+ // Add examples if provided
339
+ if (this.examples.length > 0) {
340
+ addPromptInstruction({
341
+ subtitle: 'Examples',
342
+ instructions: ''
343
+ });
344
+ for (const example of this.examples) {
345
+ addPromptExample(example);
346
+ }
347
+ }
348
+ // Add conversation history
349
+ if (this.history.length > 0) {
350
+ prompt += '### Conversation History:' + crlf;
351
+ for (const item of this.history) {
352
+ prompt += ` ${item.role}: ${item.content}` + crlf;
353
+ }
354
+ }
355
+ // Add questions
356
+ if (this.questions.length > 0) {
357
+ let questionNum = 1;
358
+ for (const question of this.questions) {
359
+ prompt += `Question ${questionNum}: ${question.text}` + crlf;
360
+ questionNum++;
361
+ }
362
+ }
363
+ // Add context
364
+ for (const context of this.context) {
365
+ addPromptContext(context);
366
+ }
367
+ // Add documents
368
+ for (const document of this.documents) {
369
+ addPromptDocument(document);
370
+ }
371
+ return prompt;
372
+ }
373
+ /**
374
+ * Convert Question to dictionary for serialization.
375
+ */
376
+ toDict() {
377
+ return {
378
+ type: this.type,
379
+ filter: this.filter,
380
+ expectJson: this.expectJson,
381
+ role: this.role,
382
+ instructions: this.instructions,
383
+ history: this.history,
384
+ examples: this.examples,
385
+ context: this.context,
386
+ documents: this.documents,
387
+ questions: this.questions
388
+ };
389
+ }
390
+ /**
391
+ * Create Question from dictionary.
392
+ */
393
+ static fromDict(data) {
394
+ const question = new Question({
395
+ type: data.type,
396
+ filter: data.filter,
397
+ expectJson: data.expectJson,
398
+ role: data.role
399
+ });
400
+ question.instructions = data.instructions || [];
401
+ question.history = data.history || [];
402
+ question.examples = data.examples || [];
403
+ question.context = data.context || [];
404
+ question.documents = data.documents || [];
405
+ question.questions = data.questions || [];
406
+ return question;
407
+ }
408
+ }
409
+ //# sourceMappingURL=Question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../aparavi-client/src/schema/Question.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ /**
25
+ * Schema definitions for Aparavi data structures.
26
+ *
27
+ * Re-exports all schema classes and interfaces for convenient imports.
28
+ */
29
+ export * from './Doc';
30
+ export * from './DocFilter';
31
+ export * from './DocGroup';
32
+ export * from './DocMetadata';
33
+ export * from './Question';
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../aparavi-client/src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;GAIG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ export {};
25
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../aparavi-client/src/types/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ export {};
25
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../aparavi-client/src/types/data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ /**
25
+ * Event type enumeration for sophisticated client subscription and event routing.
26
+ *
27
+ * This enumeration defines event categories used for intelligent event filtering
28
+ * and routing in multi-client environments. It enables clients to subscribe
29
+ * to specific types of events based on their needs and capabilities, reducing
30
+ * network traffic and improving system performance.
31
+ *
32
+ * Event Categories:
33
+ * ----------------
34
+ * NONE: Unsubscribe from all events (cleanup and disconnection)
35
+ * ALL: Subscribe to all events regardless of category (comprehensive monitoring)
36
+ * DEBUGGER: Debug-specific events for debugging protocol communication
37
+ * DETAIL: Real-time processing events requiring immediate client attention
38
+ * SUMMARY: Periodic status summaries suitable for dashboard monitoring
39
+ * OUTPUT: Standard output and logging messages
40
+ * FLOW: Pipeline flow events - component execution tracking
41
+ * TASK: Task lifecycle events - start, stop, state changes
42
+ *
43
+ * Subscription Strategies:
44
+ * -----------------------
45
+ * NONE: Used during client disconnection to stop all event delivery
46
+ * and perform cleanup of monitoring subscriptions.
47
+ *
48
+ * ALL: Comprehensive monitoring for administrative clients that need
49
+ * complete visibility into task execution and debugging activities.
50
+ *
51
+ * DEBUGGER: Debug protocol events including breakpoint hits, variable
52
+ * changes, stack traces, and debugging session management.
53
+ *
54
+ * DETAIL: Real-time processing events including object processing updates,
55
+ * error/warning messages, metrics updates, and immediate status
56
+ * changes requiring client response or display updates.
57
+ *
58
+ * SUMMARY: Periodic status summaries sent at CONST_STATUS_UPDATE_FREQ
59
+ * intervals containing complete task status, suitable for
60
+ * monitoring dashboards and periodic client updates.
61
+ *
62
+ * OUTPUT: Standard output and logging messages from task execution.
63
+ *
64
+ * FLOW: Pipeline flow events tracking component execution, data flow
65
+ * between pipeline stages, and processing pipeline status.
66
+ *
67
+ * TASK: Task lifecycle events including task start, stop, pause, resume,
68
+ * and state changes for task management interfaces.
69
+ *
70
+ * Network Optimization:
71
+ * --------------------
72
+ * Event filtering reduces network traffic by sending only relevant events
73
+ * to interested clients. SUMMARY subscriptions receive consolidated status
74
+ * updates rather than individual processing events, significantly reducing
75
+ * bandwidth usage for monitoring applications.
76
+ *
77
+ * Multi-Client Support:
78
+ * --------------------
79
+ * Different clients can subscribe to different event types simultaneously:
80
+ * - Debugging clients: DEBUGGER + DETAIL for comprehensive debugging
81
+ * - Monitoring dashboards: SUMMARY for efficient status tracking
82
+ * - Administrative tools: ALL for complete system visibility
83
+ * - Log viewers: OUTPUT for message monitoring
84
+ * - Pipeline managers: FLOW + TASK for execution tracking
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * // Subscribe to debugging and detail events
89
+ * const subscription = EVENT_TYPE.DEBUGGER | EVENT_TYPE.DETAIL;
90
+ *
91
+ * // Check if client wants specific events
92
+ * if (clientSubscription & EVENT_TYPE.SUMMARY) {
93
+ * sendSummaryUpdate(client, taskStatus);
94
+ * }
95
+ * ```
96
+ */
97
+ export var EVENT_TYPE;
98
+ (function (EVENT_TYPE) {
99
+ /** No events - unsubscribe from all event types */
100
+ EVENT_TYPE[EVENT_TYPE["NONE"] = 0] = "NONE";
101
+ /** Debug protocol events - DAP and debugging-specific events like breakpoints, stack traces */
102
+ EVENT_TYPE[EVENT_TYPE["DEBUGGER"] = 1] = "DEBUGGER";
103
+ /** Real-time processing events - immediate updates for live monitoring */
104
+ EVENT_TYPE[EVENT_TYPE["DETAIL"] = 2] = "DETAIL";
105
+ /** Periodic status summaries - dashboard monitoring with reduced frequency */
106
+ EVENT_TYPE[EVENT_TYPE["SUMMARY"] = 4] = "SUMMARY";
107
+ /** Standard output and logging messages from task execution */
108
+ EVENT_TYPE[EVENT_TYPE["OUTPUT"] = 8] = "OUTPUT";
109
+ /** Pipeline flow events - component execution tracking and data flow visualization */
110
+ EVENT_TYPE[EVENT_TYPE["FLOW"] = 16] = "FLOW";
111
+ /** Task lifecycle events - start, stop, state changes, and task management */
112
+ EVENT_TYPE[EVENT_TYPE["TASK"] = 32] = "TASK";
113
+ /** Convenience combination - ALL events except NONE for comprehensive monitoring */
114
+ EVENT_TYPE[EVENT_TYPE["ALL"] = 63] = "ALL"; // Binary: 111111
115
+ })(EVENT_TYPE || (EVENT_TYPE = {}));
116
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../aparavi-client/src/types/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,MAAM,CAAN,IAAY,UAwBX;AAxBD,WAAY,UAAU;IACrB,mDAAmD;IACnD,2CAAQ,CAAA;IAER,+FAA+F;IAC/F,mDAAiB,CAAA;IAEjB,0EAA0E;IAC1E,+CAAe,CAAA;IAEf,8EAA8E;IAC9E,iDAAgB,CAAA;IAEhB,+DAA+D;IAC/D,+CAAe,CAAA;IAEf,sFAAsF;IACtF,4CAAa,CAAA;IAEb,8EAA8E;IAC9E,4CAAa,CAAA;IAEb,oFAAoF;IACpF,0CAAwD,CAAA,CAAC,iBAAiB;AAC3E,CAAC,EAxBW,UAAU,KAAV,UAAU,QAwBrB"}