@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
359 lines • 16.6 kB
JavaScript
import { z } from 'zod';
import { TrainingSetListParamsSchema, TrainingSetResponseSchema, TrainingSetListResponseSchema, CreateTrainingSetRequestSchema, UpdateTrainingSetRequestSchema, TrainingConvListParamsSchema, TrainingConvResponseSchema, TrainingConvListResponseSchema, CreateTrainingConvRequestSchema, UpdateTrainingConvRequestSchema, TrainingMsgListParamsSchema, TrainingMsgResponseSchema, TrainingMsgListResponseSchema, CreateTrainingMsgRequestSchema, UpdateTrainingMsgRequestSchema, } from '../schemas/training';
/**
* Creates the training resource methods
* OpenAPI Path: /training → training.*
* @description AI training dataset management with nested conversations and messages
*/
export function createTrainingResource(executeRequest) {
return {
/**
* List training sets
* @fullPath api.agrSite.training.list
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.list
* @discoverable true
* @searchTerms ["training sets", "AI training", "datasets", "fine-tuning"]
*/
list: async (params) => {
return executeRequest({
method: 'GET',
path: '/training',
paramsSchema: TrainingSetListParamsSchema,
responseSchema: TrainingSetListResponseSchema,
}, params);
},
/**
* Get a training set by UID
* @fullPath api.agrSite.training.get
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.get
* @discoverable true
* @searchTerms ["training set", "AI training", "dataset"]
*/
get: async (trainingSetUid) => {
return executeRequest({
method: 'GET',
path: '/training/{trainingSetUid}',
responseSchema: TrainingSetResponseSchema,
}, undefined, { trainingSetUid: String(trainingSetUid) });
},
/**
* Create a new training set
* @fullPath api.agrSite.training.create
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.create
* @discoverable true
* @searchTerms ["create training set", "new dataset", "AI training"]
*/
create: async (request) => {
return executeRequest({
method: 'POST',
path: '/training',
paramsSchema: CreateTrainingSetRequestSchema,
responseSchema: TrainingSetResponseSchema,
}, request);
},
/**
* Update a training set
* @fullPath api.agrSite.training.update
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.update
* @discoverable true
* @searchTerms ["update training set", "modify dataset", "AI training"]
*/
update: async (trainingSetUid, request) => {
return executeRequest({
method: 'PUT',
path: '/training/{trainingSetUid}',
paramsSchema: UpdateTrainingSetRequestSchema,
responseSchema: TrainingSetResponseSchema,
}, request, { trainingSetUid: String(trainingSetUid) });
},
/**
* Delete a training set
* @fullPath api.agrSite.training.delete
* @service agr-site
* @domain ai-training
* @discoverable true
* @searchTerms ["delete training set", "remove dataset", "AI training"]
*/
delete: async (trainingSetUid) => {
await executeRequest({
method: 'DELETE',
path: '/training/{trainingSetUid}',
responseSchema: z.unknown(),
}, undefined, { trainingSetUid: String(trainingSetUid) });
return true;
},
/**
* Nested conversations resource
* @description Conversations within a training set
*/
conversations: {
/**
* List conversations in a training set
* @fullPath api.agrSite.training.conversations.list
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.list
* @discoverable true
* @searchTerms ["training conversations", "AI training", "conversation list"]
*/
list: async (trainingSetUid, params) => {
return executeRequest({
method: 'GET',
path: '/training/{trainingSetUid}/conversations',
paramsSchema: TrainingConvListParamsSchema,
responseSchema: TrainingConvListResponseSchema,
}, params, { trainingSetUid: String(trainingSetUid) });
},
/**
* Get a conversation by UID
* @fullPath api.agrSite.training.conversations.get
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.get
* @discoverable true
* @searchTerms ["training conversation", "AI training", "conversation detail"]
*/
get: async (trainingSetUid, trainingConvUid) => {
return executeRequest({
method: 'GET',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}',
responseSchema: TrainingConvResponseSchema,
}, undefined, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
});
},
/**
* Create a conversation in a training set
* @fullPath api.agrSite.training.conversations.create
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.create
* @discoverable true
* @searchTerms ["create conversation", "AI training", "new conversation"]
*/
create: async (trainingSetUid, request) => {
return executeRequest({
method: 'POST',
path: '/training/{trainingSetUid}/conversations',
paramsSchema: CreateTrainingConvRequestSchema,
responseSchema: TrainingConvResponseSchema,
}, request, { trainingSetUid: String(trainingSetUid) });
},
/**
* Update a conversation
* @fullPath api.agrSite.training.conversations.update
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.update
* @discoverable true
* @searchTerms ["update conversation", "AI training", "modify conversation"]
*/
update: async (trainingSetUid, trainingConvUid, request) => {
return executeRequest({
method: 'PUT',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}',
paramsSchema: UpdateTrainingConvRequestSchema,
responseSchema: TrainingConvResponseSchema,
}, request, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
});
},
/**
* Delete a conversation
* @fullPath api.agrSite.training.conversations.delete
* @service agr-site
* @domain ai-training
* @discoverable true
* @searchTerms ["delete conversation", "AI training", "remove conversation"]
*/
delete: async (trainingSetUid, trainingConvUid) => {
await executeRequest({
method: 'DELETE',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}',
responseSchema: z.unknown(),
}, undefined, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
});
return true;
},
/**
* Nested messages resource
* @description Messages within a conversation
*/
messages: {
/**
* List messages in a conversation
* @fullPath api.agrSite.training.conversations.messages.list
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.messages.list
* @discoverable true
* @searchTerms ["training messages", "AI training", "conversation messages"]
*/
list: async (trainingSetUid, trainingConvUid, params) => {
return executeRequest({
method: 'GET',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}/messages',
paramsSchema: TrainingMsgListParamsSchema,
responseSchema: TrainingMsgListResponseSchema,
}, params, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
});
},
/**
* Get a message by UID
* @fullPath api.agrSite.training.conversations.messages.get
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.messages.get
* @discoverable true
* @searchTerms ["training message", "AI training", "message detail"]
*/
get: async (trainingSetUid, trainingConvUid, trainingMsgUid) => {
return executeRequest({
method: 'GET',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}/messages/{trainingMsgUid}',
responseSchema: TrainingMsgResponseSchema,
}, undefined, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
trainingMsgUid: String(trainingMsgUid),
});
},
/**
* Create a message in a conversation
* @fullPath api.agrSite.training.conversations.messages.create
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.messages.create
* @discoverable true
* @searchTerms ["create message", "AI training", "new message"]
*/
create: async (trainingSetUid, trainingConvUid, request) => {
return executeRequest({
method: 'POST',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}/messages',
paramsSchema: CreateTrainingMsgRequestSchema,
responseSchema: TrainingMsgResponseSchema,
}, request, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
});
},
/**
* Update a message
* @fullPath api.agrSite.training.conversations.messages.update
* @service agr-site
* @domain ai-training
* @dataMethod trainingData.conversations.messages.update
* @discoverable true
* @searchTerms ["update message", "AI training", "modify message"]
*/
update: async (trainingSetUid, trainingConvUid, trainingMsgUid, request) => {
return executeRequest({
method: 'PUT',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}/messages/{trainingMsgUid}',
paramsSchema: UpdateTrainingMsgRequestSchema,
responseSchema: TrainingMsgResponseSchema,
}, request, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
trainingMsgUid: String(trainingMsgUid),
});
},
/**
* Delete a message
* @fullPath api.agrSite.training.conversations.messages.delete
* @service agr-site
* @domain ai-training
* @discoverable true
* @searchTerms ["delete message", "AI training", "remove message"]
*/
delete: async (trainingSetUid, trainingConvUid, trainingMsgUid) => {
await executeRequest({
method: 'DELETE',
path: '/training/{trainingSetUid}/conversations/{trainingConvUid}/messages/{trainingMsgUid}',
responseSchema: z.unknown(),
}, undefined, {
trainingSetUid: String(trainingSetUid),
trainingConvUid: String(trainingConvUid),
trainingMsgUid: String(trainingMsgUid),
});
return true;
},
},
},
};
}
/**
* Creates the trainingData resource methods (data-only versions)
*/
export function createTrainingDataResource(training) {
return {
list: async (params) => {
const response = await training.list(params);
return response.data;
},
get: async (trainingSetUid) => {
const response = await training.get(trainingSetUid);
return response.data;
},
create: async (request) => {
const response = await training.create(request);
return response.data;
},
update: async (trainingSetUid, request) => {
const response = await training.update(trainingSetUid, request);
return response.data;
},
conversations: {
list: async (trainingSetUid, params) => {
const response = await training.conversations.list(trainingSetUid, params);
return response.data;
},
get: async (trainingSetUid, trainingConvUid) => {
const response = await training.conversations.get(trainingSetUid, trainingConvUid);
return response.data;
},
create: async (trainingSetUid, request) => {
const response = await training.conversations.create(trainingSetUid, request);
return response.data;
},
update: async (trainingSetUid, trainingConvUid, request) => {
const response = await training.conversations.update(trainingSetUid, trainingConvUid, request);
return response.data;
},
messages: {
list: async (trainingSetUid, trainingConvUid, params) => {
const response = await training.conversations.messages.list(trainingSetUid, trainingConvUid, params);
return response.data;
},
get: async (trainingSetUid, trainingConvUid, trainingMsgUid) => {
const response = await training.conversations.messages.get(trainingSetUid, trainingConvUid, trainingMsgUid);
return response.data;
},
create: async (trainingSetUid, trainingConvUid, request) => {
const response = await training.conversations.messages.create(trainingSetUid, trainingConvUid, request);
return response.data;
},
update: async (trainingSetUid, trainingConvUid, trainingMsgUid, request) => {
const response = await training.conversations.messages.update(trainingSetUid, trainingConvUid, trainingMsgUid, request);
return response.data;
},
},
},
};
}
//# sourceMappingURL=training.js.map