@autobe/agent 0.4.1 → 0.4.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.
- package/lib/analyze/AnalyzeAgent.d.ts +2 -2
- package/lib/analyze/AnalyzeAgent.js +75 -40
- package/lib/analyze/AnalyzeAgent.js.map +1 -1
- package/lib/analyze/AutoBeAnalyzeAgent.d.ts +24 -0
- package/lib/analyze/AutoBeAnalyzeAgent.js +972 -0
- package/lib/analyze/AutoBeAnalyzeAgent.js.map +1 -0
- package/lib/analyze/AutoBeAnalyzeFileSystem.d.ts +65 -0
- package/lib/analyze/{Planning.js → AutoBeAnalyzeFileSystem.js} +4 -4
- package/lib/analyze/AutoBeAnalyzeFileSystem.js.map +1 -0
- package/lib/analyze/AutoBeAnalyzeReviewer.d.ts +15 -0
- package/lib/analyze/AutoBeAnalyzeReviewer.js +42 -0
- package/lib/analyze/AutoBeAnalyzeReviewer.js.map +1 -0
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +3 -2
- package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
- package/lib/index.mjs +571 -112
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/orchestrateAnalyze.js +512 -16
- package/lib/orchestrate/orchestrateAnalyze.js.map +1 -1
- package/package.json +4 -4
- package/src/analyze/AnalyzeAgent.ts +24 -19
- package/src/analyze/AutoBeAnalyzeAgent.ts +217 -0
- package/src/analyze/AutoBeAnalyzeFileSystem.ts +81 -0
- package/src/analyze/AutoBeAnalyzeReviewer.ts +60 -0
- package/src/constants/AutoBeSystemPromptConstant.ts +3 -2
- package/src/orchestrate/orchestrateAnalyze.ts +178 -17
- package/lib/analyze/CreateReviewerAgent.d.ts +0 -16
- package/lib/analyze/CreateReviewerAgent.js +0 -98
- package/lib/analyze/CreateReviewerAgent.js.map +0 -1
- package/lib/analyze/Planning.d.ts +0 -67
- package/lib/analyze/Planning.js.map +0 -1
- package/src/analyze/CreateReviewerAgent.ts +0 -126
- package/src/analyze/Planning.ts +0 -77
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,17 +41,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
41
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
42
|
});
|
|
10
43
|
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
11
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
48
|
exports.orchestrateAnalyze = void 0;
|
|
49
|
+
const __typia_transform__validateReport = __importStar(require("typia/lib/internal/_validateReport.js"));
|
|
50
|
+
const core_1 = require("@agentica/core");
|
|
51
|
+
const typia_1 = __importDefault(require("typia"));
|
|
13
52
|
const uuid_1 = require("uuid");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
53
|
+
const AutoBeAnalyzeAgent_1 = require("../analyze/AutoBeAnalyzeAgent");
|
|
54
|
+
const AutoBeAnalyzeReviewer_1 = require("../analyze/AutoBeAnalyzeReviewer");
|
|
55
|
+
const assertSchemaModel_1 = require("../context/assertSchemaModel");
|
|
16
56
|
/** @todo Kakasoo */
|
|
17
57
|
const orchestrateAnalyze = (ctx) => (props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
var _a, _b, _c;
|
|
19
|
-
const pointer = {
|
|
20
|
-
value: null,
|
|
21
|
-
};
|
|
58
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
22
59
|
const userPlanningRequirements = props.userPlanningRequirements;
|
|
23
60
|
if (!userPlanningRequirements) {
|
|
24
61
|
throw new Error(`Unable to prepare a proposal because there is no user requirement`);
|
|
@@ -31,19 +68,95 @@ const orchestrateAnalyze = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
|
|
|
31
68
|
step,
|
|
32
69
|
created_at,
|
|
33
70
|
});
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
71
|
+
const controller = createController({
|
|
72
|
+
model: ctx.model,
|
|
73
|
+
execute: new DeterminingFiles(),
|
|
74
|
+
});
|
|
75
|
+
const agentica = new core_1.MicroAgentica({
|
|
76
|
+
model: ctx.model,
|
|
77
|
+
vendor: ctx.vendor,
|
|
78
|
+
controllers: [controller],
|
|
79
|
+
config: {
|
|
80
|
+
locale: (_c = ctx.config) === null || _c === void 0 ? void 0 : _c.locale,
|
|
81
|
+
systemPrompt: {
|
|
82
|
+
common: () => "# Overview\n\n- You are the agent that determines the form of the entire document.\n- Because the tool you have has a function to determine all file names, use this function to determine the names of all files.\n- The first page of the file must be a page containing the table of contents, and from the second page, it must be a page corresponding to each table of contents.\n- Please clarify that the name of the table of contents page is the table of contents, such as `toc` or `table of content`.\n- Each document must begin with a number in turn, such as `00`, `01`, `02`, `03`.\n- Do not include database schema document." /* AutoBeSystemPromptConstant.ANALYZE_PLANNER */,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
histories: [
|
|
86
|
+
...ctx
|
|
87
|
+
.histories()
|
|
88
|
+
.filter((el) => el.type === "assistantMessage" || el.type === "userMessage"),
|
|
89
|
+
],
|
|
90
|
+
});
|
|
91
|
+
agentica.on("request", (event) => {
|
|
92
|
+
if (event.body.tools) {
|
|
93
|
+
event.body.tool_choice = "required";
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const determined = yield agentica.conversate([
|
|
97
|
+
"Design a complete list of documents for that document",
|
|
98
|
+
"```md",
|
|
99
|
+
userPlanningRequirements,
|
|
39
100
|
"```",
|
|
40
101
|
].join("\n"));
|
|
41
|
-
|
|
102
|
+
const lastMessage = determined[determined.length - 1];
|
|
103
|
+
if (lastMessage.type === "assistantMessage") {
|
|
104
|
+
const history = {
|
|
105
|
+
id: (0, uuid_1.v4)(),
|
|
106
|
+
type: "assistantMessage",
|
|
107
|
+
text: lastMessage.text,
|
|
108
|
+
created_at,
|
|
109
|
+
completed_at: new Date().toISOString(),
|
|
110
|
+
};
|
|
111
|
+
ctx.dispatch({
|
|
112
|
+
type: "assistantMessage",
|
|
113
|
+
text: lastMessage.text,
|
|
114
|
+
created_at,
|
|
115
|
+
});
|
|
116
|
+
return history;
|
|
117
|
+
}
|
|
118
|
+
const described = determined.find((el) => el.type === "describe");
|
|
119
|
+
const filenames = Array.from(new Set(described
|
|
120
|
+
? described.executes
|
|
121
|
+
.flatMap((el) => {
|
|
122
|
+
if (el.protocol === "class") {
|
|
123
|
+
return el.arguments.files;
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
126
|
+
})
|
|
127
|
+
.filter((el) => el !== null)
|
|
128
|
+
: []));
|
|
129
|
+
const pointers = yield Promise.all(filenames.map((_a) => __awaiter(void 0, [_a], void 0, function* ({ filename }) {
|
|
130
|
+
const pointer = {
|
|
131
|
+
value: null,
|
|
132
|
+
};
|
|
133
|
+
const agent = new AutoBeAnalyzeAgent_1.AutoBeAnalyzeAgent(AutoBeAnalyzeReviewer_1.AutoBeAnalyzeReviewer, ctx, pointer, filenames.map((el) => el.filename));
|
|
134
|
+
yield agent.conversate([
|
|
135
|
+
`The names of all the files are as follows: ${filenames.join(",")}`,
|
|
136
|
+
"Assume that all files are in the same folder. Also, when pointing to the location of a file, go to the relative path.",
|
|
137
|
+
"",
|
|
138
|
+
`Among the various documents, the part you decided to take care of is as follows.: ${filename}`,
|
|
139
|
+
`Only write this document named '${filename}'.`,
|
|
140
|
+
"Never write other documents.",
|
|
141
|
+
"",
|
|
142
|
+
"```md",
|
|
143
|
+
JSON.stringify(userPlanningRequirements),
|
|
144
|
+
"```",
|
|
145
|
+
].join("\n"));
|
|
146
|
+
return pointer;
|
|
147
|
+
})));
|
|
148
|
+
const files = pointers
|
|
149
|
+
.map((pointer) => {
|
|
150
|
+
var _a, _b;
|
|
151
|
+
return (_b = (_a = pointer.value) === null || _a === void 0 ? void 0 : _a.files) !== null && _b !== void 0 ? _b : {};
|
|
152
|
+
})
|
|
153
|
+
.reduce((acc, cur) => Object.assign(acc, cur));
|
|
154
|
+
if (Object.keys(files).length) {
|
|
42
155
|
const history = {
|
|
43
156
|
id: (0, uuid_1.v4)(),
|
|
44
157
|
type: "analyze",
|
|
45
158
|
reason: userPlanningRequirements,
|
|
46
|
-
files:
|
|
159
|
+
files: files,
|
|
47
160
|
step,
|
|
48
161
|
created_at,
|
|
49
162
|
completed_at: new Date().toISOString(),
|
|
@@ -52,7 +165,7 @@ const orchestrateAnalyze = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
|
|
|
52
165
|
ctx.histories().push(history);
|
|
53
166
|
ctx.dispatch({
|
|
54
167
|
type: "analyzeComplete",
|
|
55
|
-
files:
|
|
168
|
+
files: files,
|
|
56
169
|
step,
|
|
57
170
|
created_at,
|
|
58
171
|
});
|
|
@@ -61,16 +174,399 @@ const orchestrateAnalyze = (ctx) => (props) => __awaiter(void 0, void 0, void 0,
|
|
|
61
174
|
const history = {
|
|
62
175
|
id: (0, uuid_1.v4)(),
|
|
63
176
|
type: "assistantMessage",
|
|
64
|
-
text:
|
|
177
|
+
text: (_e = (_d = determined.find((el) => el.type === "assistantMessage")) === null || _d === void 0 ? void 0 : _d.text) !== null && _e !== void 0 ? _e : "",
|
|
65
178
|
created_at,
|
|
66
179
|
completed_at: new Date().toISOString(),
|
|
67
180
|
};
|
|
68
181
|
ctx.dispatch({
|
|
69
182
|
type: "assistantMessage",
|
|
70
|
-
text:
|
|
183
|
+
text: (_g = (_f = determined.find((el) => el.type === "assistantMessage")) === null || _f === void 0 ? void 0 : _f.text) !== null && _g !== void 0 ? _g : "",
|
|
71
184
|
created_at,
|
|
72
185
|
});
|
|
73
186
|
return history;
|
|
74
187
|
});
|
|
75
188
|
exports.orchestrateAnalyze = orchestrateAnalyze;
|
|
189
|
+
class DeterminingFiles {
|
|
190
|
+
/**
|
|
191
|
+
* Determining the Initial File List
|
|
192
|
+
*
|
|
193
|
+
* Design a list of initial documents that you need to create for that
|
|
194
|
+
* requirement. The list of documents is determined only by the name of the
|
|
195
|
+
* file.
|
|
196
|
+
*
|
|
197
|
+
* @param input
|
|
198
|
+
* @returns
|
|
199
|
+
*/
|
|
200
|
+
determine(input) {
|
|
201
|
+
return input;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function createController(props) {
|
|
205
|
+
(0, assertSchemaModel_1.assertSchemaModel)(props.model);
|
|
206
|
+
const application = collection[props.model];
|
|
207
|
+
return {
|
|
208
|
+
protocol: "class",
|
|
209
|
+
name: "Planning",
|
|
210
|
+
application,
|
|
211
|
+
// execute: props.execute,
|
|
212
|
+
execute: {
|
|
213
|
+
determine: (input) => {
|
|
214
|
+
return input;
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
const claude = {
|
|
220
|
+
model: "claude",
|
|
221
|
+
options: {
|
|
222
|
+
reference: true,
|
|
223
|
+
separate: null
|
|
224
|
+
},
|
|
225
|
+
functions: [
|
|
226
|
+
{
|
|
227
|
+
name: "determine",
|
|
228
|
+
parameters: {
|
|
229
|
+
type: "object",
|
|
230
|
+
properties: {
|
|
231
|
+
files: {
|
|
232
|
+
type: "array",
|
|
233
|
+
items: {
|
|
234
|
+
description: "Description of the current {@link PickIFilefilename} type:\n\n> From T, pick a set of properties whose keys are in the union K",
|
|
235
|
+
type: "object",
|
|
236
|
+
properties: {
|
|
237
|
+
filename: {
|
|
238
|
+
title: "Filename to generate or overwrite",
|
|
239
|
+
description: "Filename to generate or overwrite.",
|
|
240
|
+
type: "string",
|
|
241
|
+
pattern: "((.*)\\.md)$"
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
required: [
|
|
245
|
+
"filename"
|
|
246
|
+
]
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
required: [
|
|
251
|
+
"files"
|
|
252
|
+
],
|
|
253
|
+
additionalProperties: false,
|
|
254
|
+
$defs: {}
|
|
255
|
+
},
|
|
256
|
+
output: {
|
|
257
|
+
type: "object",
|
|
258
|
+
properties: {
|
|
259
|
+
files: {
|
|
260
|
+
type: "array",
|
|
261
|
+
items: {
|
|
262
|
+
description: "Description of the current {@link PickIFilefilename} type:\n\n> From T, pick a set of properties whose keys are in the union K",
|
|
263
|
+
type: "object",
|
|
264
|
+
properties: {
|
|
265
|
+
filename: {
|
|
266
|
+
title: "Filename to generate or overwrite",
|
|
267
|
+
description: "Filename to generate or overwrite.",
|
|
268
|
+
type: "string",
|
|
269
|
+
pattern: "((.*)\\.md)$"
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
required: [
|
|
273
|
+
"filename"
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
required: [
|
|
279
|
+
"files"
|
|
280
|
+
]
|
|
281
|
+
},
|
|
282
|
+
description: "Determining the Initial File List\n\nDesign a list of initial documents that you need to create for that\nrequirement. The list of documents is determined only by the name of the\nfile.",
|
|
283
|
+
validate: (() => { const _io0 = input => Array.isArray(input.files) && input.files.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename); const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.files) || _report(_exceptionable, {
|
|
284
|
+
path: _path + ".files",
|
|
285
|
+
expected: "Array<Pick<IFile, \"filename\">>",
|
|
286
|
+
value: input.files
|
|
287
|
+
})) && input.files.map((elem, _index2) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
288
|
+
path: _path + ".files[" + _index2 + "]",
|
|
289
|
+
expected: "Pick<IFile, \"filename\">",
|
|
290
|
+
value: elem
|
|
291
|
+
})) && _vo1(elem, _path + ".files[" + _index2 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
292
|
+
path: _path + ".files[" + _index2 + "]",
|
|
293
|
+
expected: "Pick<IFile, \"filename\">",
|
|
294
|
+
value: elem
|
|
295
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
296
|
+
path: _path + ".files",
|
|
297
|
+
expected: "Array<Pick<IFile, \"filename\">>",
|
|
298
|
+
value: input.files
|
|
299
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename) || _report(_exceptionable, {
|
|
300
|
+
path: _path + ".filename",
|
|
301
|
+
expected: "`${string}.md`",
|
|
302
|
+
value: input.filename
|
|
303
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
304
|
+
if (false === __is(input)) {
|
|
305
|
+
errors = [];
|
|
306
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
307
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
308
|
+
path: _path + "",
|
|
309
|
+
expected: "__type",
|
|
310
|
+
value: input
|
|
311
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
312
|
+
path: _path + "",
|
|
313
|
+
expected: "__type",
|
|
314
|
+
value: input
|
|
315
|
+
}))(input, "$input", true);
|
|
316
|
+
const success = 0 === errors.length;
|
|
317
|
+
return success ? {
|
|
318
|
+
success,
|
|
319
|
+
data: input
|
|
320
|
+
} : {
|
|
321
|
+
success,
|
|
322
|
+
errors,
|
|
323
|
+
data: input
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
return {
|
|
327
|
+
success: true,
|
|
328
|
+
data: input
|
|
329
|
+
};
|
|
330
|
+
}; })()
|
|
331
|
+
}
|
|
332
|
+
]
|
|
333
|
+
};
|
|
334
|
+
const collection = {
|
|
335
|
+
chatgpt: {
|
|
336
|
+
model: "chatgpt",
|
|
337
|
+
options: {
|
|
338
|
+
reference: true,
|
|
339
|
+
strict: false,
|
|
340
|
+
separate: null
|
|
341
|
+
},
|
|
342
|
+
functions: [
|
|
343
|
+
{
|
|
344
|
+
name: "determine",
|
|
345
|
+
parameters: {
|
|
346
|
+
type: "object",
|
|
347
|
+
properties: {
|
|
348
|
+
files: {
|
|
349
|
+
type: "array",
|
|
350
|
+
items: {
|
|
351
|
+
description: "Description of the current {@link PickIFilefilename} type:\n\n> From T, pick a set of properties whose keys are in the union K",
|
|
352
|
+
type: "object",
|
|
353
|
+
properties: {
|
|
354
|
+
filename: {
|
|
355
|
+
title: "Filename to generate or overwrite",
|
|
356
|
+
description: "Filename to generate or overwrite.\n\n\n@pattern ((.*)\\.md)$",
|
|
357
|
+
type: "string"
|
|
358
|
+
}
|
|
359
|
+
},
|
|
360
|
+
required: [
|
|
361
|
+
"filename"
|
|
362
|
+
]
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
required: [
|
|
367
|
+
"files"
|
|
368
|
+
],
|
|
369
|
+
additionalProperties: false,
|
|
370
|
+
$defs: {}
|
|
371
|
+
},
|
|
372
|
+
output: {
|
|
373
|
+
type: "object",
|
|
374
|
+
properties: {
|
|
375
|
+
files: {
|
|
376
|
+
type: "array",
|
|
377
|
+
items: {
|
|
378
|
+
description: "Description of the current {@link PickIFilefilename} type:\n\n> From T, pick a set of properties whose keys are in the union K",
|
|
379
|
+
type: "object",
|
|
380
|
+
properties: {
|
|
381
|
+
filename: {
|
|
382
|
+
title: "Filename to generate or overwrite",
|
|
383
|
+
description: "Filename to generate or overwrite.\n\n\n@pattern ((.*)\\.md)$",
|
|
384
|
+
type: "string"
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
required: [
|
|
388
|
+
"filename"
|
|
389
|
+
]
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
required: [
|
|
394
|
+
"files"
|
|
395
|
+
]
|
|
396
|
+
},
|
|
397
|
+
description: "Determining the Initial File List\n\nDesign a list of initial documents that you need to create for that\nrequirement. The list of documents is determined only by the name of the\nfile.",
|
|
398
|
+
validate: (() => { const _io0 = input => Array.isArray(input.files) && input.files.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename); const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.files) || _report(_exceptionable, {
|
|
399
|
+
path: _path + ".files",
|
|
400
|
+
expected: "Array<Pick<IFile, \"filename\">>",
|
|
401
|
+
value: input.files
|
|
402
|
+
})) && input.files.map((elem, _index2) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
403
|
+
path: _path + ".files[" + _index2 + "]",
|
|
404
|
+
expected: "Pick<IFile, \"filename\">",
|
|
405
|
+
value: elem
|
|
406
|
+
})) && _vo1(elem, _path + ".files[" + _index2 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
407
|
+
path: _path + ".files[" + _index2 + "]",
|
|
408
|
+
expected: "Pick<IFile, \"filename\">",
|
|
409
|
+
value: elem
|
|
410
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
411
|
+
path: _path + ".files",
|
|
412
|
+
expected: "Array<Pick<IFile, \"filename\">>",
|
|
413
|
+
value: input.files
|
|
414
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename) || _report(_exceptionable, {
|
|
415
|
+
path: _path + ".filename",
|
|
416
|
+
expected: "`${string}.md`",
|
|
417
|
+
value: input.filename
|
|
418
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
419
|
+
if (false === __is(input)) {
|
|
420
|
+
errors = [];
|
|
421
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
422
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
423
|
+
path: _path + "",
|
|
424
|
+
expected: "__type",
|
|
425
|
+
value: input
|
|
426
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
427
|
+
path: _path + "",
|
|
428
|
+
expected: "__type",
|
|
429
|
+
value: input
|
|
430
|
+
}))(input, "$input", true);
|
|
431
|
+
const success = 0 === errors.length;
|
|
432
|
+
return success ? {
|
|
433
|
+
success,
|
|
434
|
+
data: input
|
|
435
|
+
} : {
|
|
436
|
+
success,
|
|
437
|
+
errors,
|
|
438
|
+
data: input
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
return {
|
|
442
|
+
success: true,
|
|
443
|
+
data: input
|
|
444
|
+
};
|
|
445
|
+
}; })()
|
|
446
|
+
}
|
|
447
|
+
]
|
|
448
|
+
},
|
|
449
|
+
claude,
|
|
450
|
+
llama: claude,
|
|
451
|
+
deepseek: claude,
|
|
452
|
+
"3.1": claude,
|
|
453
|
+
"3.0": {
|
|
454
|
+
model: "3.0",
|
|
455
|
+
options: {
|
|
456
|
+
constraint: true,
|
|
457
|
+
recursive: 3,
|
|
458
|
+
separate: null
|
|
459
|
+
},
|
|
460
|
+
functions: [
|
|
461
|
+
{
|
|
462
|
+
name: "determine",
|
|
463
|
+
parameters: {
|
|
464
|
+
type: "object",
|
|
465
|
+
properties: {
|
|
466
|
+
files: {
|
|
467
|
+
type: "array",
|
|
468
|
+
items: {
|
|
469
|
+
type: "object",
|
|
470
|
+
properties: {
|
|
471
|
+
filename: {
|
|
472
|
+
type: "string",
|
|
473
|
+
pattern: "((.*)\\.md)$",
|
|
474
|
+
title: "Filename to generate or overwrite",
|
|
475
|
+
description: "Filename to generate or overwrite."
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
required: [
|
|
479
|
+
"filename"
|
|
480
|
+
],
|
|
481
|
+
description: "Description of the current {@link PickIFilefilename} type:\n\n> From T, pick a set of properties whose keys are in the union K",
|
|
482
|
+
additionalProperties: false
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
required: [
|
|
487
|
+
"files"
|
|
488
|
+
],
|
|
489
|
+
additionalProperties: false
|
|
490
|
+
},
|
|
491
|
+
output: {
|
|
492
|
+
type: "object",
|
|
493
|
+
properties: {
|
|
494
|
+
files: {
|
|
495
|
+
type: "array",
|
|
496
|
+
items: {
|
|
497
|
+
type: "object",
|
|
498
|
+
properties: {
|
|
499
|
+
filename: {
|
|
500
|
+
type: "string",
|
|
501
|
+
pattern: "((.*)\\.md)$",
|
|
502
|
+
title: "Filename to generate or overwrite",
|
|
503
|
+
description: "Filename to generate or overwrite."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
required: [
|
|
507
|
+
"filename"
|
|
508
|
+
],
|
|
509
|
+
description: "Description of the current {@link PickIFilefilename} type:\n\n> From T, pick a set of properties whose keys are in the union K",
|
|
510
|
+
additionalProperties: false
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
required: [
|
|
515
|
+
"files"
|
|
516
|
+
],
|
|
517
|
+
additionalProperties: false
|
|
518
|
+
},
|
|
519
|
+
description: "Determining the Initial File List\n\nDesign a list of initial documents that you need to create for that\nrequirement. The list of documents is determined only by the name of the\nfile.",
|
|
520
|
+
validate: (() => { const _io0 = input => Array.isArray(input.files) && input.files.every(elem => "object" === typeof elem && null !== elem && _io1(elem)); const _io1 = input => "string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename); const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.files) || _report(_exceptionable, {
|
|
521
|
+
path: _path + ".files",
|
|
522
|
+
expected: "Array<Pick<IFile, \"filename\">>",
|
|
523
|
+
value: input.files
|
|
524
|
+
})) && input.files.map((elem, _index2) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
525
|
+
path: _path + ".files[" + _index2 + "]",
|
|
526
|
+
expected: "Pick<IFile, \"filename\">",
|
|
527
|
+
value: elem
|
|
528
|
+
})) && _vo1(elem, _path + ".files[" + _index2 + "]", true && _exceptionable) || _report(_exceptionable, {
|
|
529
|
+
path: _path + ".files[" + _index2 + "]",
|
|
530
|
+
expected: "Pick<IFile, \"filename\">",
|
|
531
|
+
value: elem
|
|
532
|
+
})).every(flag => flag) || _report(_exceptionable, {
|
|
533
|
+
path: _path + ".files",
|
|
534
|
+
expected: "Array<Pick<IFile, \"filename\">>",
|
|
535
|
+
value: input.files
|
|
536
|
+
})].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename) || _report(_exceptionable, {
|
|
537
|
+
path: _path + ".filename",
|
|
538
|
+
expected: "`${string}.md`",
|
|
539
|
+
value: input.filename
|
|
540
|
+
})].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
|
|
541
|
+
if (false === __is(input)) {
|
|
542
|
+
errors = [];
|
|
543
|
+
_report = __typia_transform__validateReport._validateReport(errors);
|
|
544
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
|
|
545
|
+
path: _path + "",
|
|
546
|
+
expected: "__type",
|
|
547
|
+
value: input
|
|
548
|
+
})) && _vo0(input, _path + "", true) || _report(true, {
|
|
549
|
+
path: _path + "",
|
|
550
|
+
expected: "__type",
|
|
551
|
+
value: input
|
|
552
|
+
}))(input, "$input", true);
|
|
553
|
+
const success = 0 === errors.length;
|
|
554
|
+
return success ? {
|
|
555
|
+
success,
|
|
556
|
+
data: input
|
|
557
|
+
} : {
|
|
558
|
+
success,
|
|
559
|
+
errors,
|
|
560
|
+
data: input
|
|
561
|
+
};
|
|
562
|
+
}
|
|
563
|
+
return {
|
|
564
|
+
success: true,
|
|
565
|
+
data: input
|
|
566
|
+
};
|
|
567
|
+
}; })()
|
|
568
|
+
}
|
|
569
|
+
]
|
|
570
|
+
},
|
|
571
|
+
};
|
|
76
572
|
//# sourceMappingURL=orchestrateAnalyze.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrateAnalyze.js","sourceRoot":"","sources":["../../src/orchestrate/orchestrateAnalyze.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orchestrateAnalyze.js","sourceRoot":"","sources":["../../src/orchestrate/orchestrateAnalyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoE;AAOpE,kDAA0B;AAC1B,+BAA0B;AAE1B,sEAAmE;AAEnE,4EAAyE;AAIzE,oEAAiE;AAKjE,oBAAoB;AACb,MAAM,kBAAkB,GAC7B,CAAiC,GAAyB,EAAE,EAAE,CAC9D,CACE,KAA8B,EACiC,EAAE;;IACjE,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CAAC;IAChE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,wBAAwB;QAChC,IAAI;QACJ,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,gBAAgB,CAAQ;QACzC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,IAAI,gBAAgB,EAAE;KAChC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,oBAAa,CAAC;QACjC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,MAAM,EAAE;YACN,MAAM,EAAE,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM;YAC1B,YAAY,EAAE;gBACZ,MAAM,EAAE,GAAG,EAAE,sqBAA2C;aACzD;SACF;QACD,SAAS,EAAE;YACT,GAAG,GAAG;iBACH,SAAS,EAAE;iBACX,MAAM,CACL,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,kBAAkB,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa,CACpE;SACJ;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAC1C;QACE,uDAAuD;QACvD,OAAO;QACP,wBAAwB;QACxB,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACvD,IAAI,WAAW,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAkC;YAC7C,EAAE,EAAE,IAAA,SAAE,GAAE;YACR,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,UAAU;YACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;QACF,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,UAAU;SACX,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAC1B,IAAI,GAAG,CACL,SAAS;QACP,CAAC,CAAC,SAAS,CAAC,QAAQ;aACf,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACd,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC5B,OACE,EAAE,CAAC,SACJ,CAAC,KAAK,CAAC;YACV,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;QAChC,CAAC,CAAC,EAAE,CACP,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,KAAqB,EAAE,4CAAhB,EAAE,QAAQ,EAAE;QAC/B,MAAM,OAAO,GAED;YACV,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,uCAAkB,CAClC,6CAAqB,EACrB,GAAG,EACH,OAAO,EACP,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CACnC,CAAC;QAEF,MAAM,KAAK,CAAC,UAAU,CACpB;YACE,8CAA8C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACnE,uHAAuH;YACvH,EAAE;YACF,qFAAqF,QAAQ,EAAE;YAC/F,mCAAmC,QAAQ,IAAI;YAC/C,8BAA8B;YAC9B,EAAE;YACF,OAAO;YACP,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;YACxC,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAA,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,QAAQ;SACnB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;QACf,OAAO,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,mCAAI,EAAE,CAAC;IACpC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAyB;YACpC,EAAE,EAAE,IAAA,SAAE,GAAE;YACR,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,wBAAwB;YAChC,KAAK,EAAE,KAAK;YACZ,IAAI;YACJ,UAAU;YACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;QACF,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,KAAK;YACZ,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAkC;QAC7C,EAAE,EAAE,IAAA,SAAE,GAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,MAAA,MAAA,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,kBAAkB,CAAC,0CAAE,IAAI,mCAAI,EAAE;QACzE,UAAU;QACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;IACF,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,MAAA,MAAA,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,kBAAkB,CAAC,0CAAE,IAAI,mCAAI,EAAE;QACzE,UAAU;KACX,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAzKS,QAAA,kBAAkB,sBAyK3B;AAEJ,MAAM,gBAAgB;IACpB;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAgD;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,SAAS,gBAAgB,CAAiC,KAGzD;IACC,IAAA,qCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,CACyB,CAAC;IACvC,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW;QACX,0BAA0B;QAC1B,OAAO,EAAE;YACP,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;SACyB;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIT,CAAC;AACJ,MAAM,UAAU,GAAG;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIJ;IACH,MAAM;IACN,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;IACb,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAkD;CACxD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autobe/agent",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "AI backend server code generator",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"author": "Wrtn Technologies",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"tstl": "^3.0.0",
|
|
31
31
|
"typia": "^9.3.1",
|
|
32
32
|
"uuid": "^11.1.0",
|
|
33
|
-
"@autobe/interface": "^0.4.
|
|
33
|
+
"@autobe/interface": "^0.4.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@rollup/plugin-terser": "^0.4.4",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"ts-node": "^10.9.2",
|
|
44
44
|
"ts-patch": "^3.3.0",
|
|
45
45
|
"typescript": "~5.8.3",
|
|
46
|
-
"@autobe/
|
|
47
|
-
"@autobe/
|
|
46
|
+
"@autobe/filesystem": "^0.4.2",
|
|
47
|
+
"@autobe/compiler": "^0.4.2"
|
|
48
48
|
},
|
|
49
49
|
"keywords": [
|
|
50
50
|
"ai",
|