@memberjunction/skip-types 2.44.0 → 2.46.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.
- package/dist/agent-types.d.ts +251 -0
- package/dist/agent-types.d.ts.map +1 -0
- package/dist/agent-types.js +76 -0
- package/dist/agent-types.js.map +1 -0
- package/dist/api-types.d.ts +212 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/api-types.js +80 -0
- package/dist/api-types.js.map +1 -0
- package/dist/artifact-types.d.ts +142 -0
- package/dist/artifact-types.d.ts.map +1 -0
- package/dist/artifact-types.js +26 -0
- package/dist/artifact-types.js.map +1 -0
- package/dist/auth-types.d.ts +39 -0
- package/dist/auth-types.d.ts.map +1 -0
- package/dist/auth-types.js +32 -0
- package/dist/auth-types.js.map +1 -0
- package/dist/component-types.d.ts +351 -0
- package/dist/component-types.d.ts.map +1 -0
- package/dist/component-types.js +28 -0
- package/dist/component-types.js.map +1 -0
- package/dist/conversation-types.d.ts +141 -0
- package/dist/conversation-types.d.ts.map +1 -0
- package/dist/conversation-types.js +46 -0
- package/dist/conversation-types.js.map +1 -0
- package/dist/entity-metadata-types.d.ts +125 -0
- package/dist/entity-metadata-types.d.ts.map +1 -0
- package/dist/entity-metadata-types.js +78 -0
- package/dist/entity-metadata-types.js.map +1 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/query-types.d.ts +112 -0
- package/dist/query-types.d.ts.map +1 -0
- package/dist/query-types.js +65 -0
- package/dist/query-types.js.map +1 -0
- package/dist/response-types.d.ts +156 -0
- package/dist/response-types.d.ts.map +1 -0
- package/dist/response-types.js +63 -0
- package/dist/response-types.js.map +1 -0
- package/dist/shared.d.ts +44 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +3 -0
- package/dist/shared.js.map +1 -0
- package/dist/types.d.ts +31 -1057
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +45 -211
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +68 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +201 -0
- package/dist/util.js.map +1 -0
- package/package.json +3 -3
- package/readme.md +19 -19
package/dist/types.d.ts
CHANGED
|
@@ -1,1059 +1,33 @@
|
|
|
1
|
-
import { CompositeKey } from '@memberjunction/core';
|
|
2
|
-
import { DataContext } from '@memberjunction/data-context';
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* conversation in the database, used for conversation history, and will be generated by the MJ API server if
|
|
36
|
-
* no existing Conversation ID was passed in with the request.
|
|
37
|
-
*/
|
|
38
|
-
ConversationId: string;
|
|
39
|
-
/**
|
|
40
|
-
* The Conversation Detail ID for the inbound user message that was passed in with the request.
|
|
41
|
-
*/
|
|
42
|
-
UserMessageConversationDetailId: string;
|
|
43
|
-
/**
|
|
44
|
-
* The Conversation Detail ID for the outbound system message that was generated by the Skip API server, stored in the database by the MJ API server,
|
|
45
|
-
* and is being passed back here.
|
|
46
|
-
*/
|
|
47
|
-
AIMessageConversationDetailId: string;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Whenever Skip executes it's analysis phase, it uses a sandboxed sub-process to execute code securely and
|
|
51
|
-
* this shape of data is used to communicate the results of that sub-process back to the Skip API server.
|
|
52
|
-
* This data type is in turn used within the SkipAPIAnalysisCompleteResponse type.
|
|
53
|
-
*/
|
|
54
|
-
export declare class SkipSubProcessResponse {
|
|
55
|
-
status: "success" | "error";
|
|
56
|
-
/**
|
|
57
|
-
* For result types of data, this is the data that was returned from the sub-process to show in the table
|
|
58
|
-
*/
|
|
59
|
-
tableData: any[] | null;
|
|
60
|
-
/**
|
|
61
|
-
* For result type of plot, this is the data that was returned from the sub-process to show in the plot
|
|
62
|
-
*/
|
|
63
|
-
plotData: {
|
|
64
|
-
data: any[];
|
|
65
|
-
layout: any;
|
|
66
|
-
} | null;
|
|
67
|
-
/**
|
|
68
|
-
* If the request failed, this is the error message that was returned from the sub-process.
|
|
69
|
-
*/
|
|
70
|
-
errorMessage: string | null;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Defines the shape of the conversations that can be passed back and forth with the Skip API Server - primarily used for the learning cycle process
|
|
74
|
-
*/
|
|
75
|
-
export declare class SkipConversation {
|
|
76
|
-
/**
|
|
77
|
-
* The unique identifier for the conversation
|
|
78
|
-
*/
|
|
79
|
-
id: string;
|
|
80
|
-
/**
|
|
81
|
-
* The user-friendly name for the conversation
|
|
82
|
-
*/
|
|
83
|
-
name: string;
|
|
84
|
-
/**
|
|
85
|
-
* The unique identifier for the user that the conversation is associated with
|
|
86
|
-
*/
|
|
87
|
-
userId?: string;
|
|
88
|
-
/**
|
|
89
|
-
* The name of the user that the conversation is associated with
|
|
90
|
-
*/
|
|
91
|
-
user?: string;
|
|
92
|
-
/**
|
|
93
|
-
* Optional, more detailed description of the conversation
|
|
94
|
-
*/
|
|
95
|
-
description?: string;
|
|
96
|
-
/**
|
|
97
|
-
* Array of messages that make up the conversation in chronological order, showing the earliest messages first and the more recents messages last
|
|
98
|
-
*/
|
|
99
|
-
messages: SkipMessage[];
|
|
100
|
-
/**
|
|
101
|
-
* Optional, this is an array of artifacts that are associated with the conversation. The AI Agent can request to add new artifacts during a response, this array is provided by the caller to ensure that the agent
|
|
102
|
-
* knows about existing artifacts/versions
|
|
103
|
-
*/
|
|
104
|
-
artifacts?: SkipAPIArtifact[];
|
|
105
|
-
/**
|
|
106
|
-
* When the conversation was created
|
|
107
|
-
*/
|
|
108
|
-
createdAt: Date;
|
|
109
|
-
/**
|
|
110
|
-
* The date the conversation header record was last updated - this is NOT the same as the most recent conversation detail, for that interrogate the conversation details
|
|
111
|
-
*/
|
|
112
|
-
updatedAt: Date;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Defines the shape of the individual message that makes up the messages array that is passed back and
|
|
116
|
-
* forth with the Skip API Server
|
|
117
|
-
*/
|
|
118
|
-
export declare class SkipMessage {
|
|
119
|
-
/**
|
|
120
|
-
* The role of the message, either "user" or "system"
|
|
121
|
-
*/
|
|
122
|
-
role: "user" | "system";
|
|
123
|
-
/**
|
|
124
|
-
* The content of the message, either the user's input or the system's response
|
|
125
|
-
*/
|
|
126
|
-
content: string;
|
|
127
|
-
/**
|
|
128
|
-
* The conversation detail ID for the message, used to track the message
|
|
129
|
-
*/
|
|
130
|
-
conversationDetailID: string;
|
|
131
|
-
/**
|
|
132
|
-
* If the message reflects an error message the information is provided here
|
|
133
|
-
*/
|
|
134
|
-
error?: string;
|
|
135
|
-
/**
|
|
136
|
-
* hiddenToUser - this is true if a message is only for internal system puprose and not shown to a user
|
|
137
|
-
*/
|
|
138
|
-
hiddenToUser?: boolean;
|
|
139
|
-
/**
|
|
140
|
-
* Rating scale between 1 and 10, 1 reflecting the lowest rating and 10 reflecting the highest rating from the user in terms of their satisfaction with the response
|
|
141
|
-
*/
|
|
142
|
-
userRating?: number;
|
|
143
|
-
/**
|
|
144
|
-
* Optional, text feedback from the user reflecting their satisfaction with the response. Of course the subsequent messages can contain this, but this is an element that the UI will
|
|
145
|
-
* surface that allows a user to specifically provide feedback on each message.
|
|
146
|
-
*/
|
|
147
|
-
userFeedback?: string;
|
|
148
|
-
/**
|
|
149
|
-
* Optional, this text is from Skip during the generation of a particular response and represents the step-wise reasoning Skip went through to get to a particular response. This information along with the preceding messages, User Rating and User Feedback can
|
|
150
|
-
* be very helpful during a learning cycle to build notes and other artifacts that can train Skip to learn more about the user/organization's preferences and the context of the conversation.
|
|
151
|
-
*/
|
|
152
|
-
reflectionInsights?: string;
|
|
153
|
-
/**
|
|
154
|
-
* Optional, this text contains an AI generated summary of the prior messages in the conversation going back in time through the last such summary. This allows "compression" of a longer conversation to preserve space in a context window, improve performance and simplify
|
|
155
|
-
* inference.
|
|
156
|
-
*/
|
|
157
|
-
summaryOfEarlierConveration?: string;
|
|
158
|
-
/**
|
|
159
|
-
* The date and time the message was created
|
|
160
|
-
*/
|
|
161
|
-
createdAt?: Date;
|
|
162
|
-
/**
|
|
163
|
-
* The date and time the message was last updated
|
|
164
|
-
*/
|
|
165
|
-
updatedAt?: Date;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* For each Skip API Analysis result, it is possible for Skip to provide a set of tableDataColumns that describe the data that is being returned in this shape.
|
|
169
|
-
*/
|
|
170
|
-
export declare class SkipColumnInfo {
|
|
171
|
-
fieldName: string;
|
|
172
|
-
displayName: string;
|
|
173
|
-
simpleDataType: 'string' | 'number' | 'date' | 'boolean';
|
|
174
|
-
description: string;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Describes the different request phases that are used to communicate with the Skip API Server
|
|
178
|
-
* The phase of the conversation, defined as follows:
|
|
179
|
-
* * initial_request: The initial request from the user - when a new conversation gets started or after a report is created, pass in this value
|
|
180
|
-
* * clarify_question_response: Sometimes the Skip API server responds back to your request with a responsePhase of 'clarifying_question' - in this situation, the MJAPI server needs to communicate with the UI to ask the follow up question to the user. When you have that feedback from the user gathered and are providing the response to the clarifying question back to Skip API, use this requestPhase
|
|
181
|
-
* * data_gathering_response: Sometimes the Skip API server responds back to your request with a responsePhase of 'data_request' - in this situation, the MJAPI server needs to process the data request, gather whatever additional data the Skip API has asked for, and then return it in the dataContext property of the SkipAPIRequest object. When you are finished gathering data and returning it to the Skip API server, use this requestPhase
|
|
182
|
-
* * data_gathering_failure: When you send an API request to the Skip API server saying there was a data_gathering_failure that means that you attempted to retrieve data Skip requested but there was (typically) an error in the SQL statement that Skip generated and it needs to be regenerated. The MJAPI server code handles this scenario automatically.
|
|
183
|
-
* * run_existing_script: Use this to run an existing script that was already processed. When this option is used, the script provided is run and the results are provided in the response.
|
|
184
|
-
* * chat_with_a_record: This is used for the simple record chatting feature that is separate from other Skip API features. This is used for having a chat conversation with Skip about a specific record in the database that the user is typically looking at in a UI.
|
|
185
|
-
*/
|
|
186
|
-
export declare const SkipRequestPhase: {
|
|
187
|
-
readonly initial_request: "initial_request";
|
|
188
|
-
readonly clarify_question_response: "clarify_question_response";
|
|
189
|
-
readonly data_gathering_response: "data_gathering_response";
|
|
190
|
-
readonly data_gathering_failure: "data_gathering_failure";
|
|
191
|
-
readonly run_existing_script: "run_existing_script";
|
|
192
|
-
readonly chat_with_a_record: "chat_with_a_record";
|
|
193
|
-
};
|
|
194
|
-
export type SkipRequestPhase = typeof SkipRequestPhase[keyof typeof SkipRequestPhase];
|
|
195
|
-
/**
|
|
196
|
-
* Enumerates the possible values for a given field
|
|
197
|
-
*/
|
|
198
|
-
export declare class SkipEntityFieldValueInfo {
|
|
199
|
-
/**
|
|
200
|
-
* Actual value for the possible value for the field
|
|
201
|
-
*/
|
|
202
|
-
value: string;
|
|
203
|
-
/**
|
|
204
|
-
* Optional, the display value for the field value
|
|
205
|
-
*/
|
|
206
|
-
displayValue?: string;
|
|
207
|
-
}
|
|
208
|
-
export declare class SkipEntityFieldInfo {
|
|
209
|
-
entityID: string;
|
|
210
|
-
sequence: number;
|
|
211
|
-
name: string;
|
|
212
|
-
displayName?: string;
|
|
213
|
-
description?: string;
|
|
214
|
-
isPrimaryKey: boolean;
|
|
215
|
-
isUnique: boolean;
|
|
216
|
-
category?: string;
|
|
217
|
-
type: string;
|
|
218
|
-
length: number;
|
|
219
|
-
precision: number;
|
|
220
|
-
scale: number;
|
|
221
|
-
sqlFullType: string;
|
|
222
|
-
allowsNull: boolean;
|
|
223
|
-
defaultValue: string;
|
|
224
|
-
autoIncrement: boolean;
|
|
225
|
-
valueListType?: string;
|
|
226
|
-
extendedType?: string;
|
|
227
|
-
defaultInView: boolean;
|
|
228
|
-
defaultColumnWidth: number;
|
|
229
|
-
isVirtual: boolean;
|
|
230
|
-
isNameField: boolean;
|
|
231
|
-
relatedEntityID?: string;
|
|
232
|
-
relatedEntityFieldName?: string;
|
|
233
|
-
relatedEntity?: string;
|
|
234
|
-
relatedEntitySchemaName?: string;
|
|
235
|
-
relatedEntityBaseView?: string;
|
|
236
|
-
possibleValues?: SkipEntityFieldValueInfo[];
|
|
237
|
-
}
|
|
238
|
-
export declare class SkipEntityRelationshipInfo {
|
|
239
|
-
entityID: string;
|
|
240
|
-
relatedEntityID: string;
|
|
241
|
-
type: string;
|
|
242
|
-
entityKeyField: string;
|
|
243
|
-
relatedEntityJoinField: string;
|
|
244
|
-
joinView: string;
|
|
245
|
-
joinEntityJoinField: string;
|
|
246
|
-
joinEntityInverseJoinField: string;
|
|
247
|
-
entity: string;
|
|
248
|
-
entityBaseView: string;
|
|
249
|
-
relatedEntity: string;
|
|
250
|
-
relatedEntityBaseView: string;
|
|
251
|
-
}
|
|
252
|
-
export declare class SkipEntityInfo {
|
|
253
|
-
id: string;
|
|
254
|
-
name: string;
|
|
255
|
-
description?: string;
|
|
256
|
-
schemaName: string;
|
|
257
|
-
baseView: string;
|
|
258
|
-
fields: SkipEntityFieldInfo[];
|
|
259
|
-
relatedEntities: SkipEntityRelationshipInfo[];
|
|
260
|
-
/**
|
|
261
|
-
* If rows packed is set to anything other than none, the data is provided in the rows property.
|
|
262
|
-
*/
|
|
263
|
-
rowsPacked?: 'None' | 'Sample' | 'All';
|
|
264
|
-
/**
|
|
265
|
-
* If rowsPacked === 'Sample', this additional property is used to indicate the method used to sample the rows
|
|
266
|
-
*/
|
|
267
|
-
rowsSampleMethod?: 'random' | 'top n' | 'bottom n';
|
|
268
|
-
/**
|
|
269
|
-
* Optional, the metadata can include an array of rows that can be used to provide context to Skip for the data that is being passed in.
|
|
270
|
-
*/
|
|
271
|
-
rows?: any[];
|
|
272
|
-
}
|
|
273
|
-
export declare class SkipQueryInfo {
|
|
274
|
-
id: string;
|
|
275
|
-
name: string;
|
|
276
|
-
description: string;
|
|
277
|
-
categoryID: string;
|
|
278
|
-
sql: string;
|
|
279
|
-
originalSQL: string;
|
|
280
|
-
feedback: string;
|
|
281
|
-
status: 'Pending' | 'In-Review' | 'Approved' | 'Rejected' | 'Obsolete';
|
|
282
|
-
qualityRank: number;
|
|
283
|
-
createdAt: Date;
|
|
284
|
-
updatedAt: Date;
|
|
285
|
-
category: string;
|
|
286
|
-
fields: SkipQueryFieldInfo[];
|
|
287
|
-
}
|
|
288
|
-
export declare class SkipLearningCycleQueryChange {
|
|
289
|
-
query: SkipQueryInfo;
|
|
290
|
-
changeType: 'add' | 'update' | 'delete';
|
|
291
|
-
}
|
|
292
|
-
export declare class SkipLearningCycleRequestChange {
|
|
293
|
-
request: SkipAPIAgentRequest;
|
|
294
|
-
changeType: 'add' | 'update' | 'delete';
|
|
295
|
-
}
|
|
296
|
-
export declare class SkipLearningCycleNoteChange {
|
|
297
|
-
note: SkipAPIAgentNote;
|
|
298
|
-
changeType: 'add' | 'update' | 'delete';
|
|
299
|
-
}
|
|
300
|
-
export declare class SkipQueryFieldInfo {
|
|
301
|
-
name: string;
|
|
302
|
-
queryID: string;
|
|
303
|
-
description: string;
|
|
304
|
-
sequence: number;
|
|
305
|
-
/**
|
|
306
|
-
* The base type, not including parameters, in SQL. For example this field would be nvarchar or decimal, and wouldn't include type parameters. The SQLFullType field provides that information.
|
|
307
|
-
*/
|
|
308
|
-
sqlBaseType: string;
|
|
309
|
-
/**
|
|
310
|
-
* The full SQL type for the field, for example datetime or nvarchar(10) etc.
|
|
311
|
-
*/
|
|
312
|
-
sqlFullType: string;
|
|
313
|
-
sourceEntityID: string;
|
|
314
|
-
sourceFieldName: string;
|
|
315
|
-
isComputed: boolean;
|
|
316
|
-
computationDescription: string;
|
|
317
|
-
isSummary: boolean;
|
|
318
|
-
summaryDescription: string;
|
|
319
|
-
createdAt: Date;
|
|
320
|
-
updatedAt: Date;
|
|
321
|
-
sourceEntity: string;
|
|
322
|
-
}
|
|
323
|
-
export declare class SkipAPIRequestAPIKey {
|
|
324
|
-
/**
|
|
325
|
-
* These are the supported LLM vendors that Skip can use. These driver names map to the
|
|
326
|
-
* registered classes in the MemberJunction AI namespace for example the @memberjunction/ai-openai package includes
|
|
327
|
-
* a class called OpenAILLM that is registered with the MemberJunction AI system as a valid sub-class of BaseLLM
|
|
328
|
-
*/
|
|
329
|
-
vendorDriverName: 'OpenAILLM' | 'MistralLLM' | 'GeminiLLM' | 'AnthropicLLM' | 'GroqLLM';
|
|
330
|
-
/**
|
|
331
|
-
* This is the actual API key for the specified vendor.
|
|
332
|
-
* NOTE: Skip NEVER stores this information, it is only used to make requests to the AI vendor of choice
|
|
333
|
-
*/
|
|
334
|
-
apiKey: string;
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Defines the shape of the data that is expected by the Skip API Server when making a request
|
|
338
|
-
*/
|
|
339
|
-
export declare class SkipAPIRequest {
|
|
340
|
-
/**
|
|
341
|
-
* An array of 1 or more messages that are part of the conversation. The Skip API server will use these messages to understand the context of the conversation.
|
|
342
|
-
* When Skip responds to a request, he provides a messages array as well that will include the input messages as well as additional messages that he has generated as part of the conversation.
|
|
343
|
-
* In future requests for the same conversation it is important to include ALL of the messages that have been part of the conversation so far, so that Skip can understand the full context of the conversation.
|
|
344
|
-
*/
|
|
345
|
-
messages: SkipMessage[];
|
|
346
|
-
/**
|
|
347
|
-
* This is an optional string parameter where you can tell Skip anything you'd like to share about your organization, structure, database schema, and anything else
|
|
348
|
-
* that might be helpful for him to be aware of. Keep in mind that this organizationInfo will be incorprorated into every request Skip makes to the underlying AI
|
|
349
|
-
* services which can add cost and processing time to your requests. Including this information is extremely helpful as a very simple method of
|
|
350
|
-
* contextualizing Skip for your organization. In the Pro and above Skip plans, there are far more granular and effect methods of training Skip beyond this organizationInfo parameter, contact
|
|
351
|
-
* the team at MemberJunction.com for more information if you're interested.
|
|
352
|
-
*/
|
|
353
|
-
organizationInfo?: string;
|
|
354
|
-
/**
|
|
355
|
-
* The data context, use this to provide all of the data you have in a data context to Skip. You should provide this from cache or refreshed based on the parameters provided by the user.
|
|
356
|
-
*/
|
|
357
|
-
dataContext: DataContext;
|
|
358
|
-
/**
|
|
359
|
-
* Summary entity metadata that is passed into the Skip Server so that Skip has knowledge of the schema of the calling MJAPI environment
|
|
360
|
-
*/
|
|
361
|
-
entities: SkipEntityInfo[];
|
|
362
|
-
/**
|
|
363
|
-
* Stored queries in the MJ metadata that Skip can use and learn from
|
|
364
|
-
*/
|
|
365
|
-
queries: SkipQueryInfo[];
|
|
366
|
-
/**
|
|
367
|
-
* The conversation ID
|
|
368
|
-
*/
|
|
369
|
-
conversationID: string;
|
|
370
|
-
/**
|
|
371
|
-
* The organization ID - this is part of the Skip API Authentication Request, along with the bearer token in the header (the bearer token is not yet implemented, To-Do!)
|
|
372
|
-
*/
|
|
373
|
-
organizationID: string;
|
|
374
|
-
/**
|
|
375
|
-
* The request phase, defined within the SkipRequestPhase type
|
|
376
|
-
*/
|
|
377
|
-
requestPhase: SkipRequestPhase;
|
|
378
|
-
/**
|
|
379
|
-
* One or more API keys that are used for AI systems that Skip will access on behalf of the API caller
|
|
380
|
-
* NOTE: This is not where you put in the bearer token for the Skip API server itself, that goes in the header of the request
|
|
381
|
-
*/
|
|
382
|
-
apiKeys: SkipAPIRequestAPIKey[];
|
|
383
|
-
/**
|
|
384
|
-
* Optional, array of artifacts that already exist for the given conversation.
|
|
385
|
-
*/
|
|
386
|
-
artifacts?: SkipAPIArtifact[];
|
|
387
|
-
/**
|
|
388
|
-
* Optional notes that can be passed to Skip for additional context
|
|
389
|
-
*/
|
|
390
|
-
notes?: SkipAPIAgentNote[];
|
|
391
|
-
/**
|
|
392
|
-
* Optional, list of the possible types of notes that an agent can store in the source MJ system
|
|
393
|
-
*/
|
|
394
|
-
noteTypes?: SkipAPIAgentNoteType[];
|
|
395
|
-
/**
|
|
396
|
-
* Optional, if the calling server wants to enable the AI agent to call back to interact and request data or otherwise, this is the URL that the AI agent can use to call back to the source server
|
|
397
|
-
*/
|
|
398
|
-
callingServerURL?: string;
|
|
399
|
-
/**
|
|
400
|
-
* Optional, if the calling server wants to enable the AI agent to call back to interact and request data or otherwise, this is the API key that the AI agent can use to call back to the source server
|
|
401
|
-
*/
|
|
402
|
-
callingServerAPIKey?: string;
|
|
403
|
-
/**
|
|
404
|
-
* Optional, if the calling server requires the use of an additional short-lived access token beyond the API key, this is the token that the AI agent can use to call back to the source server during the lifecycle
|
|
405
|
-
* of the request
|
|
406
|
-
*/
|
|
407
|
-
callingServerAccessToken?: string;
|
|
408
|
-
}
|
|
409
|
-
/**
|
|
410
|
-
* Type that defines a possible note type from the source system that invoked Skip
|
|
411
|
-
*/
|
|
412
|
-
export declare class SkipAPIAgentNoteType {
|
|
413
|
-
id: string;
|
|
414
|
-
name: string;
|
|
415
|
-
description: string;
|
|
416
|
-
}
|
|
417
|
-
/**
|
|
418
|
-
* Whenever an agent is interested in getting human-in-the-loop style feedback/approval, this type is used
|
|
419
|
-
*/
|
|
420
|
-
export declare class SkipAPIAgentRequest {
|
|
421
|
-
/**
|
|
422
|
-
* The unique identifier for the request
|
|
423
|
-
*/
|
|
424
|
-
id: string;
|
|
425
|
-
/**
|
|
426
|
-
* The unique identifier for the agent that made the request
|
|
427
|
-
*/
|
|
428
|
-
agentId: string;
|
|
429
|
-
/**
|
|
430
|
-
* The name of the agent that made the request
|
|
431
|
-
*/
|
|
432
|
-
agent: string;
|
|
433
|
-
/**
|
|
434
|
-
* The date and time the request was made
|
|
435
|
-
*/
|
|
436
|
-
requestedAt: Date;
|
|
437
|
-
/**
|
|
438
|
-
* Optional, the unique identifier for the user that the request was made for by the Agent
|
|
439
|
-
*/
|
|
440
|
-
requestForUserId?: string;
|
|
441
|
-
/**
|
|
442
|
-
* Only populated if the request was made for a user, the name of the user that the request was made for
|
|
443
|
-
*/
|
|
444
|
-
requestForUser?: string;
|
|
445
|
-
/**
|
|
446
|
-
* Status of the request: 'Requested' | 'Approved' | 'Rejected' | 'Canceled'
|
|
447
|
-
*/
|
|
448
|
-
status: 'Requested' | 'Approved' | 'Rejected' | 'Canceled';
|
|
449
|
-
/**
|
|
450
|
-
* Text body of the request the AI Agent is making
|
|
451
|
-
*/
|
|
452
|
-
request: string;
|
|
453
|
-
/**
|
|
454
|
-
* Text body of the response that is being sent back to the AI Agent
|
|
455
|
-
*/
|
|
456
|
-
response: string;
|
|
457
|
-
/**
|
|
458
|
-
* The unique identifier for the user that responded to the request
|
|
459
|
-
*/
|
|
460
|
-
responseByUserId: string;
|
|
461
|
-
/**
|
|
462
|
-
* The name of the user that responded to the request
|
|
463
|
-
*/
|
|
464
|
-
responseByUser: string;
|
|
465
|
-
/**
|
|
466
|
-
* The date and time the user responded to the request
|
|
467
|
-
*/
|
|
468
|
-
respondedAt: Date;
|
|
469
|
-
/**
|
|
470
|
-
* Internal comments that are not intended to be shared with the AI Agent
|
|
471
|
-
*/
|
|
472
|
-
comments: string;
|
|
473
|
-
/**
|
|
474
|
-
* The date and time the request record was created in the database
|
|
475
|
-
*/
|
|
476
|
-
createdAt: Date;
|
|
477
|
-
/**
|
|
478
|
-
* The date and time the request record was last updated in the database
|
|
479
|
-
*/
|
|
480
|
-
updatedAt: Date;
|
|
481
|
-
}
|
|
482
|
-
/**
|
|
483
|
-
* Defines the shape of an individual Agent note that is stored in MJ that can be passed to Skip for additional context.
|
|
484
|
-
*/
|
|
485
|
-
export declare class SkipAPIAgentNote {
|
|
486
|
-
/**
|
|
487
|
-
* Unique identifier for the note
|
|
488
|
-
*/
|
|
489
|
-
id: string;
|
|
490
|
-
/**
|
|
491
|
-
* Unique type id (UUID) for the note type, maps to a SkipAPIAgentNoteType that was passed in the SkipAPIRequest
|
|
492
|
-
*/
|
|
493
|
-
agentNoteTypeId: string;
|
|
494
|
-
/**
|
|
495
|
-
* Text name for the note type
|
|
496
|
-
*/
|
|
497
|
-
agentNoteType: string;
|
|
498
|
-
/**
|
|
499
|
-
* Date/Time the note was initially created
|
|
500
|
-
*/
|
|
501
|
-
createdAt: Date;
|
|
502
|
-
/**
|
|
503
|
-
* Date/Time the note was last updated
|
|
504
|
-
*/
|
|
505
|
-
updatedAt: Date;
|
|
506
|
-
/**
|
|
507
|
-
* The text of the note
|
|
508
|
-
*/
|
|
509
|
-
note: string;
|
|
510
|
-
/**
|
|
511
|
-
* This type field contains the scope of the note, either Global or User
|
|
512
|
-
*/
|
|
513
|
-
type: 'User' | 'Global';
|
|
514
|
-
/**
|
|
515
|
-
* The unique identifier for the user that the note is associated with, only populated if type === 'User'
|
|
516
|
-
*/
|
|
517
|
-
userId: string | null;
|
|
518
|
-
/**
|
|
519
|
-
* The name of the user that the note is associated with, only populated if type === 'User'
|
|
520
|
-
*/
|
|
521
|
-
user: string | null;
|
|
522
|
-
}
|
|
523
|
-
export declare class SkipAPIRunScriptRequest extends SkipAPIRequest {
|
|
524
|
-
/**
|
|
525
|
-
* The script text to run
|
|
526
|
-
*/
|
|
527
|
-
scriptText: string;
|
|
528
|
-
}
|
|
529
|
-
/**
|
|
530
|
-
* Describes the different response phases that are used by the Skip API Server to respond back to the caller (usually the MJAPI server but can be anyone)
|
|
531
|
-
* The response phase indicates if the Skip API server is asking for additional data, a clarifying question, or if the analysis is complete and the information has been provided
|
|
532
|
-
* * clarifying_question: The Skip API server is asking for a clarifying question to be asked to the user - typecast the response to SkipAPIClarifyingQuestionResponse for all of the additional properties that are available in this response phase
|
|
533
|
-
* * data_request: The Skip API server is asking for additional data to be gathered - typecast the response to SkipAPIDataRequestResponse for all of the additional properties that are available in this response phase
|
|
534
|
-
* * analysis_complete: The Skip API server has completed the analysis and is providing the results - typecast the response to SkipAPIAnalysisCompleteResponse for all of the additional properties that are available in this response phase
|
|
535
|
-
* * chat_with_a_record_complete: The Skip API server has completed the chat with a record and is providing the results - typecast the response to SkipAPIChatWithRecordResponse for all of the additional properties that are available in this response phase
|
|
536
|
-
*/
|
|
537
|
-
export declare const SkipResponsePhase: {
|
|
538
|
-
readonly status_update: "status_update";
|
|
539
|
-
readonly clarifying_question: "clarifying_question";
|
|
540
|
-
readonly data_request: "data_request";
|
|
541
|
-
readonly analysis_complete: "analysis_complete";
|
|
542
|
-
readonly chat_with_a_record_complete: "chat_with_a_record_complete";
|
|
543
|
-
};
|
|
544
|
-
export type SkipResponsePhase = typeof SkipResponsePhase[keyof typeof SkipResponsePhase];
|
|
545
|
-
/**
|
|
546
|
-
* Defines the shape of the data that is returned by the Skip API Server
|
|
547
|
-
*/
|
|
548
|
-
export declare class SkipAPIResponse {
|
|
549
|
-
/**
|
|
550
|
-
* Used for all response phases, to indicate if the API request was successful or not
|
|
551
|
-
*/
|
|
552
|
-
success: boolean;
|
|
553
|
-
/**
|
|
554
|
-
* This property is only used if success is false, and contains an error message that describes the reason for the failure
|
|
555
|
-
*/
|
|
556
|
-
error: string;
|
|
557
|
-
/**
|
|
558
|
-
* The Skip API server response phase, defined within the SkipResponsePhase type
|
|
559
|
-
*/
|
|
560
|
-
responsePhase: SkipResponsePhase;
|
|
561
|
-
/**
|
|
562
|
-
* An array of messages including the messaged passed in with the SkipAPIRequest object as well as
|
|
563
|
-
* any additional messages that Skip generates as part of the conversation.
|
|
564
|
-
*/
|
|
565
|
-
messages: SkipMessage[];
|
|
566
|
-
}
|
|
567
|
-
/**
|
|
568
|
-
* Defines an individual filter that will be used to filter the data in the view to the specific row or rows that the user clicked on for a drill down
|
|
569
|
-
*/
|
|
570
|
-
export declare class SkipAPIAnalysisDrillDownFilter {
|
|
571
|
-
reportFieldName: string;
|
|
572
|
-
viewFieldName: string;
|
|
573
|
-
}
|
|
574
|
-
/**
|
|
575
|
-
* Defines the filtering information necessary for a reporting UI to enable behavior to drill down when a user clicks on a portion of a report like an element of a chart or a row in a table
|
|
576
|
-
*/
|
|
577
|
-
export declare class SkipAPIAnalysisDrillDown {
|
|
578
|
-
/**
|
|
579
|
-
* The name of the view in the database that we should drill into whenever a user clicks on an element in the report
|
|
580
|
-
*/
|
|
581
|
-
viewName: string;
|
|
582
|
-
/**
|
|
583
|
-
* If the data context that was provided to Skip for generating a report had filtered data related to the drill down view noted in viewName property, then this
|
|
584
|
-
* baseFilter value will be populated with a SQL filter that can be added to a WHERE clause with an AND statement to ensure that the filtering is inclusive of the
|
|
585
|
-
* data context's in-built filters.
|
|
586
|
-
*/
|
|
587
|
-
baseFilter: string;
|
|
588
|
-
/**
|
|
589
|
-
* One or more filters that are used to filter the data in the view to the specific row or rows that the user clicked on
|
|
590
|
-
*/
|
|
591
|
-
filters: SkipAPIAnalysisDrillDownFilter[];
|
|
592
|
-
}
|
|
593
|
-
/**
|
|
594
|
-
* Defines the shape of the data that is returned by the Skip API Server when the responsePhase is 'chat_with_a_record_complete'
|
|
595
|
-
*/
|
|
596
|
-
export declare class SkipAPIChatWithRecordResponse extends SkipAPIResponse {
|
|
597
|
-
/**
|
|
598
|
-
* The response from the AI model regarding the user request
|
|
599
|
-
*/
|
|
600
|
-
response: string;
|
|
601
|
-
}
|
|
602
|
-
/**
|
|
603
|
-
* Defines the shape of the data that is returned by the Skip API Server when the responsePhase is 'analysis_complete'
|
|
604
|
-
*/
|
|
605
|
-
export declare class SkipAPIAnalysisCompleteResponse extends SkipAPIResponse {
|
|
606
|
-
/**
|
|
607
|
-
* The data context that was passed in with the request, this is used to know the source data at the time the process was executed and for simple persistence.
|
|
608
|
-
*/
|
|
609
|
-
dataContext: SimpleDataContext;
|
|
610
|
-
/**
|
|
611
|
-
* The type of report generated, data is a simple table, plot is a chart and html is a custom HTML report
|
|
612
|
-
* For data/plot types, the results will be server-generated and available in the executionResults property
|
|
613
|
-
* For html type, the executionResults will be null because the server generates an HTML report that is intended to run on the client.
|
|
614
|
-
*/
|
|
615
|
-
resultType: "data" | "plot" | "html" | null;
|
|
616
|
-
/**
|
|
617
|
-
* The results of the execution of the sub-process to run the server-side script
|
|
618
|
-
*/
|
|
619
|
-
executionResults?: SkipSubProcessResponse | null;
|
|
620
|
-
/**
|
|
621
|
-
* A user-friendly explanation of what the report does
|
|
622
|
-
*/
|
|
623
|
-
userExplanation?: string;
|
|
624
|
-
/**
|
|
625
|
-
* A more detailed technical explanation of what the report does and how it works
|
|
626
|
-
*/
|
|
627
|
-
techExplanation?: string;
|
|
628
|
-
/**
|
|
629
|
-
* Describes each column in the report's computed data output that is what is displayed in either a table or a chart
|
|
630
|
-
*/
|
|
631
|
-
tableDataColumns?: SkipColumnInfo[];
|
|
632
|
-
/**
|
|
633
|
-
* Zero or more suggested questions that the AI engine suggests might be good follow up questions to ask after reviewing the provided report
|
|
634
|
-
*/
|
|
635
|
-
suggestedQuestions?: string[] | null;
|
|
636
|
-
/**
|
|
637
|
-
* The title of the report
|
|
638
|
-
*/
|
|
639
|
-
reportTitle?: string | null;
|
|
640
|
-
/**
|
|
641
|
-
* An analysis of the report, the data and the formatted report output.
|
|
642
|
-
*/
|
|
643
|
-
analysis?: string | null;
|
|
644
|
-
/**
|
|
645
|
-
* Information that will support a drill-down experience in the reporting UI
|
|
646
|
-
*/
|
|
647
|
-
drillDown?: SkipAPIAnalysisDrillDown | null;
|
|
648
|
-
/**
|
|
649
|
-
* The script text that was used to generated the report and can be saved to be run again later
|
|
650
|
-
*/
|
|
651
|
-
scriptText?: string | null;
|
|
652
|
-
/**
|
|
653
|
-
* When provided, this array of data requests indicate to the caller of the Skip API that Skip was able to retrieve, on his own, additional data
|
|
654
|
-
* BEYOND what was provided in the SkipAPIRequest object. The caller of the Skip API should update its internal representation of its data context
|
|
655
|
-
* to include these new data items so that they will be run and provided to Skip for future iterations/requests and for re-running reports as well.
|
|
656
|
-
*/
|
|
657
|
-
newDataItems?: SkipDataRequest[];
|
|
658
|
-
/**
|
|
659
|
-
* For result type of html, this is the HTML that was returned from the sub-process to show in the HTML report
|
|
660
|
-
* This HTML is typically a combination of HTML, CSS and JavaScript all contained within a single DIV tag and
|
|
661
|
-
* designed to be embedded as a shadow DOM element within the container application's UI in the desired location
|
|
662
|
-
* as chosen by the container application.
|
|
663
|
-
* @deprecated - this is now part of an entry in the htmlReportOptions array, this property is deprecated and will be removed in a future version.
|
|
664
|
-
*/
|
|
665
|
-
htmlReport: string | null;
|
|
666
|
-
/**
|
|
667
|
-
* For HTML Reports, the generation process must return not only the HTML itself stored in htmlReport, but also a globally unique
|
|
668
|
-
* object name that is used to communicate with the HTML Report. This name will be a globally unique name that is used to identify the object
|
|
669
|
-
* agains the global memory of the browser (e.g. the window object) and is used to communicate with the HTML report. The object will comply with the
|
|
670
|
-
* @interface SkipHTMLReportObject interface and will be used to communicate with the HTML report.
|
|
671
|
-
*
|
|
672
|
-
* Generally speaking, this object name will be provided to the AI system generating the code and use a UUIDv4 or similar approach that is
|
|
673
|
-
* modified to be a valid JavaScript function name. The AI generates the object within its HTML with this name.
|
|
674
|
-
* The object name is provided here in this property so that the container application for the custom HTML report can invoke it as needed.
|
|
675
|
-
* @deprecated - this is now part of an entry in the htmlReportOptions array, this property is deprecated and will be removed in a future version.
|
|
676
|
-
*/
|
|
677
|
-
htmlReportObjectName: string | null;
|
|
678
|
-
/**
|
|
679
|
-
* Contains a list of all the possible HTML reports that were generated (1 or more) for the given request.
|
|
680
|
-
*/
|
|
681
|
-
htmlReportOptions?: SkipHTMLReportOption[];
|
|
682
|
-
/**
|
|
683
|
-
* If the AI Agent decides it would be best to display the result in an artifact, this information can be used by the calling application to properly
|
|
684
|
-
* associate this specific response with the artifact that is being created. This is typically used for output that is likely to have iterations where
|
|
685
|
-
* artifacts are a clean way of managing a UI in the calling application where you can show multiple versions/etc.
|
|
686
|
-
*/
|
|
687
|
-
artifactRequest?: SkipAPIArtifactRequest;
|
|
688
|
-
}
|
|
689
|
-
/**
|
|
690
|
-
* Defines a given option for an HTML report that the user can choose. The htmlReport/htmlReportObjectName properties are used to render the HTML report in the UI.
|
|
691
|
-
*/
|
|
692
|
-
export type SkipHTMLReportOption = {
|
|
693
|
-
/**
|
|
694
|
-
* This code is typically a combination of HTML, CSS and JavaScript all contained within a single DIV tag and
|
|
695
|
-
* designed to be embedded within the container application's UI in the desired location
|
|
696
|
-
* as chosen by the container application.
|
|
697
|
-
*/
|
|
698
|
-
reportCode: string;
|
|
699
|
-
/**
|
|
700
|
-
* For HTML Reports, the generation process must return not only the HTML itself stored in htmlReport, but also a globally unique
|
|
701
|
-
* object name that is used to communicate with the HTML Report. This name will be a globally unique name that is used to identify the object
|
|
702
|
-
* agains the global memory of the browser (e.g. the window object) and is used to communicate with the HTML report. The object will comply with the
|
|
703
|
-
* @interface SkipHTMLReportObject interface and will be used to communicate with the HTML report.
|
|
704
|
-
*
|
|
705
|
-
* Generally speaking, this object name will be provided to the AI system generating the code and use a UUIDv4 or similar approach that is
|
|
706
|
-
* modified to be a valid JavaScript function name. The AI generates the object within its HTML with this name.
|
|
707
|
-
* The object name is provided here in this property so that the container application for the custom HTML report can invoke it as needed.
|
|
708
|
-
*/
|
|
709
|
-
reportObjectName: string;
|
|
710
|
-
/**
|
|
711
|
-
* The type of data access this report uses, static means that the data is provided to the report as static data during the initialization
|
|
712
|
-
* process described in the @interface SkipHTMLReportObject interface, dynamic means that the report will use capabilities provided by
|
|
713
|
-
* the SkipHTMLReportObject interface to dynamically access data from the MemberJunction instance that it is running within. 'both' means
|
|
714
|
-
* that the report can use both static and dynamic data access methods, and 'none' means that the report does not use any data (rare, but possible for example if
|
|
715
|
-
* a report does something other than show data or if it is uses 3rd party data sources via API that are not related to the MJ instance it is running within).
|
|
716
|
-
*/
|
|
717
|
-
dataAccessType: 'static' | 'dynamic' | 'both' | 'none';
|
|
718
|
-
/**
|
|
719
|
-
* If multiple report options are provided for a given @interface SkipAPIAnalysisCompleteResponse, a "judge" AI will evaluate all the functional
|
|
720
|
-
* responses and will rank order them with an explanation of why they were each ranked that way. Rankings are not absolute, they are relative to the
|
|
721
|
-
* # of reports contained within an array of SkipHTMLReportOption types.
|
|
722
|
-
*/
|
|
723
|
-
AIRank: number | undefined;
|
|
724
|
-
/**
|
|
725
|
-
* The AI's explanation of why it ranked the report the way it did. This is useful for understanding the AI's reasoning and can be used to improve future reports
|
|
726
|
-
* as well as provide context to the user about why a particular report was chosen as the best option.
|
|
727
|
-
*/
|
|
728
|
-
AIRankExplanation: string | undefined;
|
|
729
|
-
/**
|
|
730
|
-
* The user's provided feedback on the report option. Unlike the AIRank, this is a subjective rating provided by the user and is
|
|
731
|
-
* a number between 1 and 10, where 1 is the lowest rating and 10 is the highest rating.
|
|
732
|
-
*/
|
|
733
|
-
UserRank: number | undefined;
|
|
734
|
-
/**
|
|
735
|
-
* If the host application provides a way for the user to provide feedback on the report option,
|
|
736
|
-
* this is the explanation of why the user rated the report the way they did if they provided feedback.
|
|
737
|
-
*/
|
|
738
|
-
UserRankExplanation: string | undefined;
|
|
739
|
-
};
|
|
740
|
-
/**
|
|
741
|
-
* Defines the shape of the data that is used to request an artifact from the Skip API Server
|
|
742
|
-
*/
|
|
743
|
-
export type SkipAPIArtifactRequest = {
|
|
744
|
-
/**
|
|
745
|
-
* The agent should request new_artifact if an entirely new artifact should be created. This should be selected if there are no existing artifacts in the
|
|
746
|
-
* conversation, OR if the user has asked for something that is not logically related to existing artifacts for the given conversation and it makes more
|
|
747
|
-
* sense to create a new artifact entirely.
|
|
748
|
-
*
|
|
749
|
-
* new_artifact_version, on the other hand, should be used when the user has asked for something that is logically related to an existing artifact and it is
|
|
750
|
-
* most logical to add a new version to that existing artifact for example iterating on various versions of a report over time.
|
|
751
|
-
*/
|
|
752
|
-
action: "new_artifact" | "new_artifact_version";
|
|
753
|
-
/**
|
|
754
|
-
* This is only provided when action === 'new_artifact_version' and is used to indicate the artifact that a new version is being added to. When action == 'new_artifact'
|
|
755
|
-
* this property is not used.
|
|
756
|
-
*/
|
|
757
|
-
artifactId?: string;
|
|
758
|
-
/**
|
|
759
|
-
* The name of the artifact or artifact version that is being created. Generated by the AI agent.
|
|
760
|
-
*/
|
|
761
|
-
name: string;
|
|
762
|
-
/**
|
|
763
|
-
* The description of the artifact or artifact version that is being created. Generated by the AI agent.
|
|
764
|
-
*/
|
|
765
|
-
description: string;
|
|
766
|
-
};
|
|
767
|
-
/**
|
|
768
|
-
* Defines the shape of the data that is returned by the Skip API Server when the responsePhase is 'clarifying_question'
|
|
769
|
-
*/
|
|
770
|
-
export declare class SkipAPIClarifyingQuestionResponse extends SkipAPIResponse {
|
|
771
|
-
/**
|
|
772
|
-
* The question to display to the user from the AI model after a request is made to the AI when the AI needs more information to process the request
|
|
773
|
-
*/
|
|
774
|
-
clarifyingQuestion: string;
|
|
775
|
-
/**
|
|
776
|
-
* Zero or more suggested answers that the AI model suggests might be good responses to the clarifying question
|
|
777
|
-
*/
|
|
778
|
-
suggestedAnswers: string[];
|
|
779
|
-
}
|
|
780
|
-
/**
|
|
781
|
-
* Defines the shape of the data that is returned by the Skip API Server when the responsePhase is 'data_request'
|
|
782
|
-
*/
|
|
783
|
-
export declare class SkipAPIDataRequestResponse extends SkipAPIResponse {
|
|
784
|
-
dataRequest: SkipDataRequest[];
|
|
785
|
-
}
|
|
786
|
-
/**
|
|
787
|
-
* Describes the different types of data requests the Skip API server can make for additional data.
|
|
788
|
-
* * sql: The Skip API server is asking for additional data to be gathered using a fully executable SQL statement
|
|
789
|
-
* * stored_query: The Skip API server is asking for additional data to be gathered using a stored query that is defined in the system within the Queries entity.
|
|
790
|
-
*/
|
|
791
|
-
export declare const SkipDataRequestType: {
|
|
792
|
-
readonly sql: "sql";
|
|
793
|
-
readonly stored_query: "stored_query";
|
|
794
|
-
};
|
|
795
|
-
export type SkipDataRequestType = typeof SkipDataRequestType[keyof typeof SkipDataRequestType];
|
|
796
|
-
/**
|
|
797
|
-
* This type is used to define the requested data whenever the Skip API server asks for additional data to be gathered
|
|
798
|
-
*/
|
|
799
|
-
export declare class SkipDataRequest {
|
|
800
|
-
/**
|
|
801
|
-
* The type of request, as defined in the `SkipDataRequestType` type
|
|
802
|
-
*/
|
|
803
|
-
type: SkipDataRequestType;
|
|
804
|
-
/**
|
|
805
|
-
* The text of the request - either a fully executable SQL statement or the name of a stored query
|
|
806
|
-
*/
|
|
807
|
-
text: string;
|
|
808
|
-
/**
|
|
809
|
-
* A description of the request, why it was requested, and what it is expected to provide
|
|
810
|
-
*/
|
|
811
|
-
description?: string;
|
|
812
|
-
}
|
|
813
|
-
/**
|
|
814
|
-
* API Request shape to ask the /learn end point to learn from conversation history and pass back "notes" that can be stored in the database for future requests
|
|
815
|
-
*/
|
|
816
|
-
export declare class SkipAPILearningCycleRequest {
|
|
817
|
-
/**
|
|
818
|
-
* OrganizationID for Skip to identify the organization
|
|
819
|
-
*/
|
|
820
|
-
organizationId: string;
|
|
821
|
-
/**
|
|
822
|
-
* This is an optional string parameter where you can tell Skip anything you'd like to share about your organization, structure, database schema, and anything else
|
|
823
|
-
* that might be helpful for him to be aware of. Keep in mind that this organizationInfo will be incorprorated into every request Skip makes to the underlying AI
|
|
824
|
-
* services which can add cost and processing time to your requests. Including this information is extremely helpful as a very simple method of
|
|
825
|
-
* contextualizing Skip for your organization. In the Pro and above Skip plans, there are far more granular and effect methods of training Skip beyond this organizationInfo parameter, contact
|
|
826
|
-
* the team at MemberJunction.com for more information if you're interested.
|
|
827
|
-
*/
|
|
828
|
-
organizationInfo?: string;
|
|
829
|
-
/**
|
|
830
|
-
* Learning Cycle ID is a unique identifier from the MJ AI Agent Learning Cycles table that will track the details of the API calls and the results for logging purposes and
|
|
831
|
-
* also to track the timestamps for each run to batch the conversations that are being sent
|
|
832
|
-
*/
|
|
833
|
-
learningCycleId: string;
|
|
834
|
-
/**
|
|
835
|
-
* An array of conversations that have taken place since the last learning cycle
|
|
836
|
-
*/
|
|
837
|
-
newConversations: SkipConversation[];
|
|
838
|
-
/**
|
|
839
|
-
* Summary entity metadata that is passed into the Skip Server so that Skip has knowledge of the schema of the calling MJAPI environment
|
|
840
|
-
*/
|
|
841
|
-
entities: SkipEntityInfo[];
|
|
842
|
-
/**
|
|
843
|
-
* Stored queries in the MJ metadata that Skip can use and learn from
|
|
844
|
-
*/
|
|
845
|
-
queries: SkipQueryInfo[];
|
|
846
|
-
/**
|
|
847
|
-
* An array of notes that have been generated by the Skip API server during the learning cycle process in the past
|
|
848
|
-
*/
|
|
849
|
-
notes: SkipAPIAgentNote[];
|
|
850
|
-
/**
|
|
851
|
-
* An array of the possible note types that can be stored in the source MJ system
|
|
852
|
-
*/
|
|
853
|
-
noteTypes: SkipAPIAgentNoteType[];
|
|
854
|
-
/**
|
|
855
|
-
* An array of the requests that Skip has previously made. Full history provided including requests of all status conditions.
|
|
856
|
-
*/
|
|
857
|
-
requests: SkipAPIAgentRequest[];
|
|
858
|
-
/**
|
|
859
|
-
* Optional, the date/time of the last learning cycle performed on this dataset
|
|
860
|
-
*/
|
|
861
|
-
lastLearningCycleDate: Date;
|
|
862
|
-
/**
|
|
863
|
-
* One or more API keys that are used for AI systems that Skip will access on behalf of the API caller
|
|
864
|
-
* NOTE: This is not where you put in the bearer token for the Skip API server itself, that goes in the header of the request
|
|
865
|
-
*/
|
|
866
|
-
apiKeys: SkipAPIRequestAPIKey[];
|
|
867
|
-
}
|
|
868
|
-
/**
|
|
869
|
-
* API Response shape to ask the /learn end point to learn from conversation history and pass back "notes", an array of notes are provided that should be stored in the database
|
|
870
|
-
* to then be passed into future Skip API requests for analysis/etc.
|
|
871
|
-
*/
|
|
872
|
-
export declare class SkipAPILearningCycleResponse {
|
|
873
|
-
/**
|
|
874
|
-
* Indicates if the learning cycle was successful or not
|
|
875
|
-
*/
|
|
876
|
-
success: boolean;
|
|
877
|
-
/**
|
|
878
|
-
* If a learning cycle is skipped because there is no new conversation data to learn from, this property will be set to true
|
|
879
|
-
*/
|
|
880
|
-
learningCycleSkipped?: boolean;
|
|
881
|
-
/**
|
|
882
|
-
* If the learning cycle was not successful, this property will contain an error message that describes the reason for the failure
|
|
883
|
-
*/
|
|
884
|
-
error?: string;
|
|
885
|
-
/**
|
|
886
|
-
* The number of milliseconds that have elapsed since the learning cycle process started
|
|
887
|
-
*/
|
|
888
|
-
elapsedTime: number;
|
|
889
|
-
/**
|
|
890
|
-
* The notes that were generated by the Skip API server during the learning cycle process
|
|
891
|
-
*/
|
|
892
|
-
noteChanges: SkipLearningCycleNoteChange[];
|
|
893
|
-
/**
|
|
894
|
-
* This provides an array of changes requested by Skip to the MJ database for queries, adding, updating and/or deleting.
|
|
895
|
-
*/
|
|
896
|
-
queryChanges: SkipLearningCycleQueryChange[];
|
|
897
|
-
/**
|
|
898
|
-
* This array should be populated by the agent with any changes to requests - deleting existing requests that have not been responded to yet and for whatever reason are not relevant anymore, updating existing requests that haven't yet been responded to, and adding new requests to help the agent learn.
|
|
899
|
-
*/
|
|
900
|
-
requestChanges: SkipLearningCycleRequestChange[];
|
|
901
|
-
}
|
|
902
|
-
/**
|
|
903
|
-
* This interface defines the available callback functions that a Skip HTML report might call in the parent.
|
|
904
|
-
*/
|
|
905
|
-
export interface SkipHTMLReportCallbacks {
|
|
906
|
-
/**
|
|
907
|
-
* The HTML Report can invoke this method in the callbacks object, when provided, to refresh the data context
|
|
908
|
-
* and that will in turn result in the HTML Report's init function being called again with the new data context.
|
|
909
|
-
* @returns
|
|
910
|
-
*/
|
|
911
|
-
RefreshData: () => void;
|
|
912
|
-
/**
|
|
913
|
-
* If an action occurs inside an HTML Report where it would be desirable for the containing UI to open a specific
|
|
914
|
-
* record, if supported, this event can be listened to and the container UI can then open the record.
|
|
915
|
-
* @param entityName - this is the Entity NAME from the Entity metadata, not the table name or base view name. Use Entity Metadata to provide the entity name here
|
|
916
|
-
* @param key - this is an array of key/value pairs representing the primary key. The format of a Composite Key is an array of KeyValuePair objects and KeyValuePair objects simply have FieldName and Value properties. In most cases entities have single-valued primary keys but this structure is here for complex entity types that have composite primary keys
|
|
917
|
-
* @returns
|
|
918
|
-
*/
|
|
919
|
-
OpenEntityRecord: (entityName: string, key: CompositeKey) => void;
|
|
920
|
-
/**
|
|
921
|
-
* This event should be raised by the HTML component whenever something changes within the component that should be tracked as a change in state
|
|
922
|
-
* that will persist. userState is any valid, simple JavaScript object, meaning it can have scalars, arrays, objects, etc, it must be an object that
|
|
923
|
-
* can be serialized to JSON, but otherwise has no special requirements. The parent component will be responsible for tracking the user-specific states
|
|
924
|
-
* and passing them back to the HTML component each time it is loaded or if the user changes via the init function.
|
|
925
|
-
* @param userState
|
|
926
|
-
* @returns
|
|
927
|
-
*/
|
|
928
|
-
UpdateUserState: (userState: any) => void;
|
|
929
|
-
/**
|
|
930
|
-
* Used for any other type of event notification that an HTML Report might want to send to the parent component.
|
|
931
|
-
* @param eventName
|
|
932
|
-
* @param eventData
|
|
933
|
-
* @returns
|
|
934
|
-
*/
|
|
935
|
-
NotifyEvent: (eventName: string, eventData: any) => void;
|
|
936
|
-
}
|
|
937
|
-
/**
|
|
938
|
-
* This is the function signature for the initialization function provided by each HTML report via the SkipHTMLReportObject so that a container can interact with it.
|
|
939
|
-
* This function is called when the HTML report is loaded by its container. The function receives the data context, an optional userState property, and a set of callbacks that can be used to interact with the parent component.
|
|
940
|
-
* userState is an optional parameter that can be used to pass in any state information that the parent component wants to provide to the HTML report that is specific
|
|
941
|
-
* to the CURRENT user. If the component modifies the userState, it should notify the parent component via the UserStateChanged event in the callbacks object so that the parent component can handle storage.
|
|
942
|
-
*/
|
|
943
|
-
export type SkipHTMLReportInitFunction = (data: SimpleDataContext, userState?: any, callbacks?: SkipHTMLReportCallbacks) => void;
|
|
944
|
-
/**
|
|
945
|
-
* This is the function signature for the print function that is provided by the HTML report via the SkipHTMLReportObject
|
|
946
|
-
*/
|
|
947
|
-
export type SkipHTMLReportPrintFunction = () => void;
|
|
948
|
-
/**
|
|
949
|
-
* This is the function signature for the refresh function that is provided by the HTML report via the SkipHTMLReportObject
|
|
950
|
-
*/
|
|
951
|
-
export type SkipHTMLReportRefreshFunction = () => void;
|
|
952
|
-
/**
|
|
953
|
-
* This is the interface that each HTML report will expose to the parent component and assign it a name globally on the window object so that the parent component can call it.
|
|
954
|
-
* The HTML report will create this object and it will include the members defined in this interface.
|
|
955
|
-
*/
|
|
956
|
-
export interface SkipHTMLReportObject {
|
|
957
|
-
/**
|
|
958
|
-
* The required init function that is called when the HTML report is loaded. This function is passed the data context and a set of callbacks that can be used to interact with the parent component.
|
|
959
|
-
*/
|
|
960
|
-
init: SkipHTMLReportInitFunction;
|
|
961
|
-
/**
|
|
962
|
-
* The optional print function that is called when the user clicks on the print button in the parent of the HTML report. This function will never be called by the parent before the init function so the print function
|
|
963
|
-
* can assume the report has been initialized;
|
|
964
|
-
*/
|
|
965
|
-
print?: SkipHTMLReportPrintFunction;
|
|
966
|
-
/**
|
|
967
|
-
* The optional refresh function that is called when the user clicks on the refresh button in the parent of the HTML report. This function will never be called by the parent before the init function so the refresh function
|
|
968
|
-
*/
|
|
969
|
-
refresh?: SkipHTMLReportRefreshFunction;
|
|
970
|
-
}
|
|
971
|
-
/**
|
|
972
|
-
* This is a simple data context object that is passed into the SkipHTMLReportInitFunction, it contains a property for each of the data context items and typically are named
|
|
973
|
-
* data_item_1, data_item_2, etc. The data context is a simple JavaScript object that contains properties that are in turn data objects which are typically arrays of things, but can be anything.
|
|
974
|
-
*/
|
|
975
|
-
export type SimpleDataContext = {
|
|
976
|
-
[key: string]: any;
|
|
977
|
-
};
|
|
978
|
-
/**
|
|
979
|
-
* Defines information about a single artifact type
|
|
980
|
-
*/
|
|
981
|
-
export type SkipAPIArtifactType = {
|
|
982
|
-
id: string;
|
|
983
|
-
name: string;
|
|
984
|
-
description: string;
|
|
985
|
-
/**
|
|
986
|
-
* MIME type or content identifier for this artifact type
|
|
987
|
-
*/
|
|
988
|
-
contentType: string;
|
|
989
|
-
enabled: boolean;
|
|
990
|
-
createdAt: Date;
|
|
991
|
-
updatedAt: Date;
|
|
992
|
-
};
|
|
993
|
-
export type SkipAPIArtifactVersion = {
|
|
994
|
-
/**
|
|
995
|
-
* Primary key for the artifact version - globally unique
|
|
996
|
-
*/
|
|
997
|
-
id: string;
|
|
998
|
-
/**
|
|
999
|
-
* Foreign key to the related artifact - not using a link to the object here to avoid circular references
|
|
1000
|
-
*/
|
|
1001
|
-
artifactId: string;
|
|
1002
|
-
/**
|
|
1003
|
-
* Auto increment sequential version, start with 1 for each artifact
|
|
1004
|
-
*/
|
|
1005
|
-
version: number;
|
|
1006
|
-
/**
|
|
1007
|
-
* The contents of this field are dependent on the artifact type, in some cases it might be unused, in others it might be JSON, plain text, or even base-64 encoded binary data for something like an image
|
|
1008
|
-
*/
|
|
1009
|
-
configuration: string;
|
|
1010
|
-
/**
|
|
1011
|
-
* The contents of this field are dependent on the artifact type, in some cases it might be unused, in others it might be JSON, plain text, or even base-64 encoded binary data for something like an image
|
|
1012
|
-
*/
|
|
1013
|
-
content: string;
|
|
1014
|
-
/**
|
|
1015
|
-
* User comments for this specific version of the artifact, used for user's own purposes and can be used as feedback loop for AI to learn from and improve future versions/responses.
|
|
1016
|
-
*/
|
|
1017
|
-
comments: string;
|
|
1018
|
-
createdAt: Date;
|
|
1019
|
-
updatedAt: Date;
|
|
1020
|
-
};
|
|
1021
|
-
export type SkipAPIArtifact = {
|
|
1022
|
-
/**
|
|
1023
|
-
* Primary key for the artifact
|
|
1024
|
-
*/
|
|
1025
|
-
id: string;
|
|
1026
|
-
/**
|
|
1027
|
-
* AI generated name for the artifact
|
|
1028
|
-
*/
|
|
1029
|
-
name: string;
|
|
1030
|
-
/**
|
|
1031
|
-
* AI generated description for the artifact
|
|
1032
|
-
* This is a short description of the artifact that is generated by the AI system and is used to provide context for the artifact
|
|
1033
|
-
*/
|
|
1034
|
-
description: string;
|
|
1035
|
-
/**
|
|
1036
|
-
* Foreign key to the related conversation
|
|
1037
|
-
*/
|
|
1038
|
-
conversationId: string;
|
|
1039
|
-
/**
|
|
1040
|
-
* Related artifact type
|
|
1041
|
-
*/
|
|
1042
|
-
artifactType: SkipAPIArtifactType;
|
|
1043
|
-
/**
|
|
1044
|
-
* Defines the level of sharing the owner of this artifact (which is the owner of the related conversation) has selected for this artifact
|
|
1045
|
-
*/
|
|
1046
|
-
sharingScope: 'None' | 'SpecificUsers' | 'Everyone' | 'Public';
|
|
1047
|
-
/**
|
|
1048
|
-
* Comments from the user about the artifact
|
|
1049
|
-
*/
|
|
1050
|
-
comments: string;
|
|
1051
|
-
/**
|
|
1052
|
-
* Array of versions of this artifact
|
|
1053
|
-
* This is a one-to-many relationship, where each artifact can have multiple versions
|
|
1054
|
-
*/
|
|
1055
|
-
versions: SkipAPIArtifactVersion[];
|
|
1056
|
-
createdAt: Date;
|
|
1057
|
-
updatedAt: Date;
|
|
1058
|
-
};
|
|
2
|
+
* @fileoverview Legacy types file - now re-exports from organized modules
|
|
3
|
+
*
|
|
4
|
+
* This file has been refactored to re-export types from more focused, smaller modules.
|
|
5
|
+
* The types are now organized across the following files:
|
|
6
|
+
*
|
|
7
|
+
* - api-types.ts: Core API request/response types
|
|
8
|
+
* - conversation-types.ts: Conversation and messaging types
|
|
9
|
+
* - response-types.ts: Specific response types
|
|
10
|
+
* - entity-metadata-types.ts: Entity and schema types
|
|
11
|
+
* - query-types.ts: Query-related types
|
|
12
|
+
* - agent-types.ts: AI agent and learning cycle types
|
|
13
|
+
* - artifact-types.ts: Artifact-related types
|
|
14
|
+
* - component-types.ts: Component-specific types
|
|
15
|
+
* - auth-types.ts: Authentication types
|
|
16
|
+
*
|
|
17
|
+
* This organization makes the codebase more maintainable while preserving
|
|
18
|
+
* backward compatibility for existing imports.
|
|
19
|
+
*
|
|
20
|
+
* @author MemberJunction
|
|
21
|
+
* @since 2.0.0
|
|
22
|
+
* @deprecated Import from specific module files instead for better tree-shaking
|
|
23
|
+
*/
|
|
24
|
+
export * from './api-types';
|
|
25
|
+
export * from './conversation-types';
|
|
26
|
+
export * from './response-types';
|
|
27
|
+
export * from './entity-metadata-types';
|
|
28
|
+
export * from './query-types';
|
|
29
|
+
export * from './agent-types';
|
|
30
|
+
export * from './artifact-types';
|
|
31
|
+
export * from './auth-types';
|
|
32
|
+
export * from './component-types';
|
|
1059
33
|
//# sourceMappingURL=types.d.ts.map
|