@autobe/agent 0.10.6 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/lib/AutoBeAgent.js +13 -46
  2. package/lib/AutoBeAgent.js.map +1 -1
  3. package/lib/constants/AutoBeSystemPromptConstant.d.ts +11 -6
  4. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  5. package/lib/context/AutoBeContext.d.ts +3 -2
  6. package/lib/factory/getAutoBeGenerated.d.ts +5 -0
  7. package/lib/factory/getAutoBeGenerated.js +307 -0
  8. package/lib/factory/getAutoBeGenerated.js.map +1 -0
  9. package/lib/index.mjs +1652 -1402
  10. package/lib/index.mjs.map +1 -1
  11. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.d.ts +2 -7
  12. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js +1 -9
  13. package/lib/orchestrate/analyze/AutoBeAnalyzeFileSystem.js.map +1 -1
  14. package/lib/orchestrate/analyze/AutoBeAnalyzeRole.d.ts +13 -0
  15. package/lib/orchestrate/analyze/AutoBeAnalyzeRole.js +3 -0
  16. package/lib/orchestrate/analyze/AutoBeAnalyzeRole.js.map +1 -0
  17. package/lib/orchestrate/analyze/orchestrateAnalyze.d.ts +0 -25
  18. package/lib/orchestrate/analyze/orchestrateAnalyze.js +22 -420
  19. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  20. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.d.ts +6 -0
  21. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js +561 -0
  22. package/lib/orchestrate/analyze/orchestrateAnalyzeComposer.js.map +1 -0
  23. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.d.ts +6 -0
  24. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js +41 -0
  25. package/lib/orchestrate/analyze/orchestrateAnalyzeReviewer.js.map +1 -0
  26. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.d.ts +14 -0
  27. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js +468 -0
  28. package/lib/orchestrate/analyze/orchestrateAnalyzeWrite.js.map +1 -0
  29. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.d.ts +68 -0
  30. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js +3 -0
  31. package/lib/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.js.map +1 -0
  32. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.d.ts +5 -0
  33. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js +27 -0
  34. package/lib/orchestrate/analyze/transformAnalyzeReviewerHistories.js.map +1 -0
  35. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.d.ts +12 -0
  36. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js +78 -0
  37. package/lib/orchestrate/analyze/transformAnalyzeWriteHistories.js.map +1 -0
  38. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.d.ts +6 -0
  39. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js +58 -0
  40. package/lib/orchestrate/analyze/writeDocumentUntilReviewPassed.js.map +1 -0
  41. package/lib/orchestrate/interface/orchestrateInterface.js +0 -2
  42. package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
  43. package/lib/orchestrate/interface/orchestrateInterfaceComponents.js +17 -137
  44. package/lib/orchestrate/interface/orchestrateInterfaceComponents.js.map +1 -1
  45. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js +92 -141
  46. package/lib/orchestrate/interface/orchestrateInterfaceOperations.js.map +1 -1
  47. package/lib/orchestrate/prisma/orchestratePrisma.js +9 -5
  48. package/lib/orchestrate/prisma/orchestratePrisma.js.map +1 -1
  49. package/lib/orchestrate/prisma/orchestratePrismaComponent.js +54 -25
  50. package/lib/orchestrate/prisma/orchestratePrismaComponent.js.map +1 -1
  51. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js +4 -3
  52. package/lib/orchestrate/prisma/orchestratePrismaCorrect.js.map +1 -1
  53. package/lib/orchestrate/prisma/{orchestratePrismaSchema.d.ts → orchestratePrismaSchemas.d.ts} +2 -4
  54. package/lib/orchestrate/prisma/{orchestratePrismaSchema.js → orchestratePrismaSchemas.js} +269 -203
  55. package/lib/orchestrate/prisma/orchestratePrismaSchemas.js.map +1 -0
  56. package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js +1 -1
  57. package/lib/orchestrate/prisma/transformPrismaComponentsHistories.js.map +1 -1
  58. package/lib/orchestrate/prisma/transformPrismaCorrectHistories.js +1 -1
  59. package/lib/orchestrate/prisma/transformPrismaHistories.js +1 -1
  60. package/lib/orchestrate/prisma/transformPrismaHistories.js.map +1 -1
  61. package/lib/orchestrate/prisma/transformPrismaSchemaHistories.d.ts +2 -6
  62. package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js +24 -32
  63. package/lib/orchestrate/prisma/transformPrismaSchemaHistories.js.map +1 -1
  64. package/lib/orchestrate/realize/RealizePipe.d.ts +5 -0
  65. package/lib/orchestrate/realize/RealizePipe.js +14 -0
  66. package/lib/orchestrate/realize/RealizePipe.js.map +1 -0
  67. package/lib/orchestrate/realize/orchestrateRealize.d.ts +0 -6
  68. package/lib/orchestrate/realize/orchestrateRealize.js +6 -43
  69. package/lib/orchestrate/realize/orchestrateRealize.js.map +1 -1
  70. package/lib/orchestrate/realize/orchestrateRealizeCoder.d.ts +3 -3
  71. package/lib/orchestrate/realize/orchestrateRealizeCoder.js +124 -59
  72. package/lib/orchestrate/realize/orchestrateRealizeCoder.js.map +1 -1
  73. package/lib/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.d.ts +188 -18
  74. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.d.ts +23 -0
  75. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.js +3 -0
  76. package/lib/orchestrate/realize/structures/IAutoBeRealizeCompile.js.map +1 -0
  77. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.d.ts +2 -0
  78. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js +5 -0
  79. package/lib/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.js.map +1 -0
  80. package/lib/orchestrate/realize/transformRealizeCoderHistories.d.ts +2 -1
  81. package/lib/orchestrate/realize/transformRealizeCoderHistories.js +50 -36
  82. package/lib/orchestrate/realize/transformRealizeCoderHistories.js.map +1 -1
  83. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.d.ts +5 -0
  84. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js +123 -0
  85. package/lib/orchestrate/realize/writeCodeUntilCompilePassed.js.map +1 -0
  86. package/lib/orchestrate/test/compile/getTestExternalDeclarations.js +4 -1
  87. package/lib/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -1
  88. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js +2 -1
  89. package/lib/orchestrate/test/compile/getTestScenarioArtifacts.js.map +1 -1
  90. package/lib/orchestrate/test/orchestrateTest.js +11 -5
  91. package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
  92. package/lib/orchestrate/test/orchestrateTestCorrect.js +3 -2
  93. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  94. package/lib/orchestrate/test/orchestrateTestWrite.js +22 -13
  95. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -1
  96. package/lib/structures/IAutoBeProps.d.ts +8 -8
  97. package/lib/utils/pipe.d.ts +5 -0
  98. package/lib/utils/pipe.js +14 -0
  99. package/lib/utils/pipe.js.map +1 -0
  100. package/package.json +6 -6
  101. package/src/AutoBeAgent.ts +22 -76
  102. package/src/constants/AutoBeSystemPromptConstant.ts +11 -6
  103. package/src/context/AutoBeContext.ts +3 -1
  104. package/src/factory/getAutoBeGenerated.ts +113 -0
  105. package/src/orchestrate/analyze/AutoBeAnalyzeFileSystem.ts +5 -13
  106. package/src/orchestrate/analyze/AutoBeAnalyzeRole.ts +14 -0
  107. package/src/orchestrate/analyze/orchestrateAnalyze.ts +30 -165
  108. package/src/orchestrate/analyze/orchestrateAnalyzeComposer.ts +115 -0
  109. package/src/orchestrate/analyze/orchestrateAnalyzeReviewer.ts +39 -0
  110. package/src/orchestrate/analyze/orchestrateAnalyzeWrite.ts +106 -0
  111. package/src/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.ts +74 -0
  112. package/src/orchestrate/analyze/transformAnalyzeReviewerHistories.ts +31 -0
  113. package/src/orchestrate/analyze/transformAnalyzeWriteHistories.ts +94 -0
  114. package/src/orchestrate/analyze/writeDocumentUntilReviewPassed.ts +66 -0
  115. package/src/orchestrate/interface/orchestrateInterface.ts +0 -2
  116. package/src/orchestrate/interface/orchestrateInterfaceComponents.ts +2 -3
  117. package/src/orchestrate/interface/orchestrateInterfaceOperations.ts +21 -0
  118. package/src/orchestrate/prisma/orchestratePrisma.ts +12 -5
  119. package/src/orchestrate/prisma/orchestratePrismaComponent.ts +4 -13
  120. package/src/orchestrate/prisma/orchestratePrismaCorrect.ts +9 -4
  121. package/src/orchestrate/prisma/orchestratePrismaSchemas.ts +265 -0
  122. package/src/orchestrate/prisma/transformPrismaSchemaHistories.ts +26 -37
  123. package/src/orchestrate/realize/RealizePipe.ts +39 -0
  124. package/src/orchestrate/realize/orchestrateRealize.ts +3 -91
  125. package/src/orchestrate/realize/orchestrateRealizeCoder.ts +60 -25
  126. package/src/orchestrate/realize/structures/IAutoBeRealizeCoderApplication.ts +192 -18
  127. package/src/orchestrate/realize/structures/IAutoBeRealizeCompile.ts +34 -0
  128. package/src/orchestrate/realize/structures/IAutoBeRealizeFailedSymbol.ts +2 -0
  129. package/src/orchestrate/realize/transformRealizeCoderHistories.ts +58 -34
  130. package/src/orchestrate/realize/writeCodeUntilCompilePassed.ts +178 -0
  131. package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +5 -4
  132. package/src/orchestrate/test/compile/getTestScenarioArtifacts.ts +7 -2
  133. package/src/orchestrate/test/orchestrateTest.ts +14 -12
  134. package/src/orchestrate/test/orchestrateTestCorrect.ts +10 -9
  135. package/src/orchestrate/test/orchestrateTestWrite.ts +33 -27
  136. package/src/structures/IAutoBeProps.ts +10 -7
  137. package/src/utils/pipe.ts +39 -0
  138. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.d.ts +0 -20
  139. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js +0 -735
  140. package/lib/orchestrate/analyze/AutoBeAnalyzeAgent.js.map +0 -1
  141. package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.d.ts +0 -15
  142. package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js +0 -44
  143. package/lib/orchestrate/analyze/AutoBeAnalyzeReviewer.js.map +0 -1
  144. package/lib/orchestrate/prisma/orchestratePrismaSchema.js.map +0 -1
  145. package/src/orchestrate/analyze/AutoBeAnalyzeAgent.ts +0 -219
  146. package/src/orchestrate/analyze/AutoBeAnalyzeReviewer.ts +0 -62
  147. package/src/orchestrate/prisma/orchestratePrismaSchema.ts +0 -157
@@ -0,0 +1,468 @@
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
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.orchestrateAnalyzeWrite = 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"));
52
+ const assertSchemaModel_1 = require("../../context/assertSchemaModel");
53
+ const backoffRetry_1 = require("../../utils/backoffRetry");
54
+ const enforceToolCall_1 = require("../../utils/enforceToolCall");
55
+ const AutoBeAnalyzeFileSystem_1 = require("./AutoBeAnalyzeFileSystem");
56
+ const transformAnalyzeWriteHistories_1 = require("./transformAnalyzeWriteHistories");
57
+ const orchestrateAnalyzeWrite = (ctx, input, pointer, isAborted) => {
58
+ var _a;
59
+ const controller = createController({
60
+ model: ctx.model,
61
+ execute: new AutoBeAnalyzeFileSystem_1.AutoBeAnalyzeFileSystem({ [input.targetFile]: "" }),
62
+ build: (files) => __awaiter(void 0, void 0, void 0, function* () {
63
+ var _a;
64
+ (_a = pointer.value) !== null && _a !== void 0 ? _a : (pointer.value = { files: {} });
65
+ Object.assign(pointer.value.files, files);
66
+ }),
67
+ abort: () => (isAborted.value = true),
68
+ });
69
+ const agent = new core_1.MicroAgentica({
70
+ controllers: [controller],
71
+ model: ctx.model,
72
+ vendor: ctx.vendor,
73
+ config: {
74
+ locale: (_a = ctx.config) === null || _a === void 0 ? void 0 : _a.locale,
75
+ backoffStrategy: backoffRetry_1.randomBackoffStrategy,
76
+ executor: {
77
+ describe: null,
78
+ },
79
+ },
80
+ histories: [...(0, transformAnalyzeWriteHistories_1.transformAnalyzeWriteHistories)(ctx, input)],
81
+ });
82
+ (0, enforceToolCall_1.enforceToolCall)(agent);
83
+ return agent;
84
+ };
85
+ exports.orchestrateAnalyzeWrite = orchestrateAnalyzeWrite;
86
+ function createController(props) {
87
+ (0, assertSchemaModel_1.assertSchemaModel)(props.model);
88
+ const application = collection[props.model];
89
+ return {
90
+ protocol: "class",
91
+ name: "Planning",
92
+ application,
93
+ execute: {
94
+ abort: (input) => {
95
+ const response = props.execute.abort(input);
96
+ props.abort();
97
+ return response;
98
+ },
99
+ createOrUpdateFiles: (input) => __awaiter(this, void 0, void 0, function* () {
100
+ const fileMap = yield props.execute.createOrUpdateFiles(input);
101
+ props.build(fileMap);
102
+ return fileMap;
103
+ }),
104
+ },
105
+ };
106
+ }
107
+ const claude = {
108
+ model: "claude",
109
+ options: {
110
+ reference: true,
111
+ separate: null
112
+ },
113
+ functions: [
114
+ {
115
+ name: "createOrUpdateFiles",
116
+ parameters: {
117
+ type: "object",
118
+ properties: {
119
+ files: {
120
+ type: "array",
121
+ items: {
122
+ $ref: "#/$defs/IFile"
123
+ },
124
+ minItems: 1
125
+ }
126
+ },
127
+ required: [
128
+ "files"
129
+ ],
130
+ additionalProperties: false,
131
+ $defs: {
132
+ IFile: {
133
+ type: "object",
134
+ properties: {
135
+ reason: {
136
+ description: "Describe briefly why you made this document, and if you have any plans for\nthe next one.",
137
+ type: "string"
138
+ },
139
+ filename: {
140
+ description: "Filename to generate or overwrite.",
141
+ type: "string",
142
+ pattern: "((.*)\\.md)$"
143
+ },
144
+ markdown: {
145
+ description: "Markdown file content. Only write the content of the file. Do not include\nany questions. This should contain only the contents of the file. Do not\nwrite down any questions or appreciation. For example, remove a sentence\nsuch as \"Is it okay if we proceed with the table of contents? Please let me\nknow if there is anything to add or exclude from the table of contents!\"",
146
+ type: "string"
147
+ }
148
+ },
149
+ required: [
150
+ "reason",
151
+ "filename",
152
+ "markdown"
153
+ ]
154
+ },
155
+ Recordstringstring: {
156
+ description: "Construct a type with a set of properties K of type T",
157
+ type: "object",
158
+ properties: {},
159
+ required: [],
160
+ additionalProperties: {
161
+ type: "string"
162
+ }
163
+ }
164
+ }
165
+ },
166
+ output: {
167
+ $ref: "#/$defs/Recordstringstring"
168
+ },
169
+ validate: (() => { const _io0 = input => Array.isArray(input.files) && (1 <= input.files.length && input.files.every(elem => "object" === typeof elem && null !== elem && _io1(elem))); const _io1 = input => "string" === typeof input.reason && ("string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename)) && "string" === typeof input.markdown; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.files) || _report(_exceptionable, {
170
+ path: _path + ".files",
171
+ expected: "(Array<IFile> & MinItems<1>)",
172
+ value: input.files
173
+ })) && ((1 <= input.files.length || _report(_exceptionable, {
174
+ path: _path + ".files",
175
+ expected: "Array<> & MinItems<1>",
176
+ value: input.files
177
+ })) && input.files.map((elem, _index2) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
178
+ path: _path + ".files[" + _index2 + "]",
179
+ expected: "IFile",
180
+ value: elem
181
+ })) && _vo1(elem, _path + ".files[" + _index2 + "]", true && _exceptionable) || _report(_exceptionable, {
182
+ path: _path + ".files[" + _index2 + "]",
183
+ expected: "IFile",
184
+ value: elem
185
+ })).every(flag => flag)) || _report(_exceptionable, {
186
+ path: _path + ".files",
187
+ expected: "(Array<IFile> & MinItems<1>)",
188
+ value: input.files
189
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
190
+ path: _path + ".reason",
191
+ expected: "string",
192
+ value: input.reason
193
+ }), "string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename) || _report(_exceptionable, {
194
+ path: _path + ".filename",
195
+ expected: "`${string}.md`",
196
+ value: input.filename
197
+ }), "string" === typeof input.markdown || _report(_exceptionable, {
198
+ path: _path + ".markdown",
199
+ expected: "string",
200
+ value: input.markdown
201
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
202
+ if (false === __is(input)) {
203
+ errors = [];
204
+ _report = __typia_transform__validateReport._validateReport(errors);
205
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
206
+ path: _path + "",
207
+ expected: "__type",
208
+ value: input
209
+ })) && _vo0(input, _path + "", true) || _report(true, {
210
+ path: _path + "",
211
+ expected: "__type",
212
+ value: input
213
+ }))(input, "$input", true);
214
+ const success = 0 === errors.length;
215
+ return success ? {
216
+ success,
217
+ data: input
218
+ } : {
219
+ success,
220
+ errors,
221
+ data: input
222
+ };
223
+ }
224
+ return {
225
+ success: true,
226
+ data: input
227
+ };
228
+ }; })()
229
+ },
230
+ {
231
+ name: "abort",
232
+ parameters: {
233
+ type: "object",
234
+ properties: {
235
+ reason: {
236
+ type: "string"
237
+ }
238
+ },
239
+ required: [
240
+ "reason"
241
+ ],
242
+ additionalProperties: false,
243
+ $defs: {}
244
+ },
245
+ output: {
246
+ "const": "OK"
247
+ },
248
+ validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
249
+ path: _path + ".reason",
250
+ expected: "string",
251
+ value: input.reason
252
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
253
+ if (false === __is(input)) {
254
+ errors = [];
255
+ _report = __typia_transform__validateReport._validateReport(errors);
256
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
257
+ path: _path + "",
258
+ expected: "__type",
259
+ value: input
260
+ })) && _vo0(input, _path + "", true) || _report(true, {
261
+ path: _path + "",
262
+ expected: "__type",
263
+ value: input
264
+ }))(input, "$input", true);
265
+ const success = 0 === errors.length;
266
+ return success ? {
267
+ success,
268
+ data: input
269
+ } : {
270
+ success,
271
+ errors,
272
+ data: input
273
+ };
274
+ }
275
+ return {
276
+ success: true,
277
+ data: input
278
+ };
279
+ }; })()
280
+ }
281
+ ]
282
+ };
283
+ const collection = {
284
+ chatgpt: {
285
+ model: "chatgpt",
286
+ options: {
287
+ reference: true,
288
+ strict: false,
289
+ separate: null
290
+ },
291
+ functions: [
292
+ {
293
+ name: "createOrUpdateFiles",
294
+ parameters: {
295
+ type: "object",
296
+ properties: {
297
+ files: {
298
+ description: "@minItems 1",
299
+ type: "array",
300
+ items: {
301
+ $ref: "#/$defs/IFile"
302
+ }
303
+ }
304
+ },
305
+ required: [
306
+ "files"
307
+ ],
308
+ additionalProperties: false,
309
+ $defs: {
310
+ IFile: {
311
+ type: "object",
312
+ properties: {
313
+ reason: {
314
+ description: "Describe briefly why you made this document, and if you have any plans for\nthe next one.",
315
+ type: "string"
316
+ },
317
+ filename: {
318
+ description: "Filename to generate or overwrite.\n\n\n@pattern ((.*)\\.md)$",
319
+ type: "string"
320
+ },
321
+ markdown: {
322
+ description: "Markdown file content. Only write the content of the file. Do not include\nany questions. This should contain only the contents of the file. Do not\nwrite down any questions or appreciation. For example, remove a sentence\nsuch as \"Is it okay if we proceed with the table of contents? Please let me\nknow if there is anything to add or exclude from the table of contents!\"",
323
+ type: "string"
324
+ }
325
+ },
326
+ required: [
327
+ "reason",
328
+ "filename",
329
+ "markdown"
330
+ ]
331
+ },
332
+ Recordstringstring: {
333
+ description: "Construct a type with a set of properties K of type T",
334
+ type: "object",
335
+ properties: {},
336
+ required: [],
337
+ additionalProperties: {
338
+ type: "string"
339
+ }
340
+ }
341
+ }
342
+ },
343
+ output: {
344
+ $ref: "#/$defs/Recordstringstring"
345
+ },
346
+ validate: (() => { const _io0 = input => Array.isArray(input.files) && (1 <= input.files.length && input.files.every(elem => "object" === typeof elem && null !== elem && _io1(elem))); const _io1 = input => "string" === typeof input.reason && ("string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename)) && "string" === typeof input.markdown; const _vo0 = (input, _path, _exceptionable = true) => [(Array.isArray(input.files) || _report(_exceptionable, {
347
+ path: _path + ".files",
348
+ expected: "(Array<IFile> & MinItems<1>)",
349
+ value: input.files
350
+ })) && ((1 <= input.files.length || _report(_exceptionable, {
351
+ path: _path + ".files",
352
+ expected: "Array<> & MinItems<1>",
353
+ value: input.files
354
+ })) && input.files.map((elem, _index2) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
355
+ path: _path + ".files[" + _index2 + "]",
356
+ expected: "IFile",
357
+ value: elem
358
+ })) && _vo1(elem, _path + ".files[" + _index2 + "]", true && _exceptionable) || _report(_exceptionable, {
359
+ path: _path + ".files[" + _index2 + "]",
360
+ expected: "IFile",
361
+ value: elem
362
+ })).every(flag => flag)) || _report(_exceptionable, {
363
+ path: _path + ".files",
364
+ expected: "(Array<IFile> & MinItems<1>)",
365
+ value: input.files
366
+ })].every(flag => flag); const _vo1 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
367
+ path: _path + ".reason",
368
+ expected: "string",
369
+ value: input.reason
370
+ }), "string" === typeof input.filename && RegExp(/(.*)\.md$/).test(input.filename) || _report(_exceptionable, {
371
+ path: _path + ".filename",
372
+ expected: "`${string}.md`",
373
+ value: input.filename
374
+ }), "string" === typeof input.markdown || _report(_exceptionable, {
375
+ path: _path + ".markdown",
376
+ expected: "string",
377
+ value: input.markdown
378
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
379
+ if (false === __is(input)) {
380
+ errors = [];
381
+ _report = __typia_transform__validateReport._validateReport(errors);
382
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
383
+ path: _path + "",
384
+ expected: "__type",
385
+ value: input
386
+ })) && _vo0(input, _path + "", true) || _report(true, {
387
+ path: _path + "",
388
+ expected: "__type",
389
+ value: input
390
+ }))(input, "$input", true);
391
+ const success = 0 === errors.length;
392
+ return success ? {
393
+ success,
394
+ data: input
395
+ } : {
396
+ success,
397
+ errors,
398
+ data: input
399
+ };
400
+ }
401
+ return {
402
+ success: true,
403
+ data: input
404
+ };
405
+ }; })()
406
+ },
407
+ {
408
+ name: "abort",
409
+ parameters: {
410
+ type: "object",
411
+ properties: {
412
+ reason: {
413
+ type: "string"
414
+ }
415
+ },
416
+ required: [
417
+ "reason"
418
+ ],
419
+ additionalProperties: false,
420
+ $defs: {}
421
+ },
422
+ output: {
423
+ type: "string",
424
+ "enum": [
425
+ "OK"
426
+ ]
427
+ },
428
+ validate: (() => { const _io0 = input => "string" === typeof input.reason; const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.reason || _report(_exceptionable, {
429
+ path: _path + ".reason",
430
+ expected: "string",
431
+ value: input.reason
432
+ })].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
433
+ if (false === __is(input)) {
434
+ errors = [];
435
+ _report = __typia_transform__validateReport._validateReport(errors);
436
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _report(true, {
437
+ path: _path + "",
438
+ expected: "__type",
439
+ value: input
440
+ })) && _vo0(input, _path + "", true) || _report(true, {
441
+ path: _path + "",
442
+ expected: "__type",
443
+ value: input
444
+ }))(input, "$input", true);
445
+ const success = 0 === errors.length;
446
+ return success ? {
447
+ success,
448
+ data: input
449
+ } : {
450
+ success,
451
+ errors,
452
+ data: input
453
+ };
454
+ }
455
+ return {
456
+ success: true,
457
+ data: input
458
+ };
459
+ }; })()
460
+ }
461
+ ]
462
+ },
463
+ claude,
464
+ llama: claude,
465
+ deepseek: claude,
466
+ "3.1": claude,
467
+ };
468
+ //# sourceMappingURL=orchestrateAnalyzeWrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrateAnalyzeWrite.js","sourceRoot":"","sources":["../../../src/orchestrate/analyze/orchestrateAnalyzeWrite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { IFile } from "../AutoBeAnalyzeFileSystem";
2
+ import { AutoBeAnalyzeRole } from "../AutoBeAnalyzeRole";
3
+ export interface IComposeInput {
4
+ /** Reason for the analysis and composition of the project structure. */
5
+ reason: string;
6
+ /**
7
+ * Prefix for file names and all prisma schema files, table, interface, and
8
+ * variable names.
9
+ */
10
+ prefix: string;
11
+ /** Roles to be assigned for the project */
12
+ roles: AutoBeAnalyzeRole[];
13
+ /**
14
+ * If the user has requested a specific number of pages, enter that number.
15
+ * Otherwise, provide an appropriate number of documents needed to meet the
16
+ * user's requirements. This number must always match the length of the files
17
+ * property, must be greater than 1, and must include the table of contents.
18
+ * For example, if the user requests 3 pages, the total should be 4, including
19
+ * the table of contents.
20
+ */
21
+ page: number;
22
+ /**
23
+ * # Document files to be generated
24
+ *
25
+ * File name must be English and it must contain the numbering and prefix.
26
+ *
27
+ * These files represent business documentation that may include:
28
+ *
29
+ * - Business requirements and functional specifications
30
+ * - User journey mapping and use case scenarios
31
+ * - Business rules and workflow definitions
32
+ * - Service architecture and system design overview
33
+ * - Data flow and integration requirements
34
+ * - User roles and permission matrix
35
+ * - API endpoint specifications and contracts
36
+ * - Business logic and validation rules
37
+ *
38
+ * Generate files based on actual requirements gathered from conversation. Do
39
+ * not create unnecessary documentation - only generate what is needed to
40
+ * properly define the business requirements and system specifications.
41
+ *
42
+ * # Page Length Rules
43
+ *
44
+ * The number of documents must match the user's request, excluding the table
45
+ * of contents. For example, if the user requests 3 pages, a total of 4
46
+ * documents should be generated, including the table of contents. If the user
47
+ * does not specify a number, generate a sufficient number of documents to
48
+ * adequately support the service.
49
+ */
50
+ files: Array<Pick<IFile, "filename" | "reason">>;
51
+ }
52
+ export interface IAutoBeAnalyzeComposerApplication {
53
+ /**
54
+ * Compose project structure with roles and files.
55
+ *
56
+ * Design a list of roles and initial documents that you need to create for
57
+ * that requirement. Roles define team member responsibilities, while files
58
+ * define the documentation structure. These are managed separately. If you
59
+ * determine from the conversation that the user's requirements have not been
60
+ * fully gathered, you must stop the analysis and continue collecting the
61
+ * remaining requirements. In this case, you do not need to generate any files
62
+ * or roles. Simply pass an empty array to `input.files` and `input.roles`.
63
+ *
64
+ * @param input Prefix, roles, and files
65
+ * @returns
66
+ */
67
+ compose(input: IComposeInput): IComposeInput;
68
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAutoBeAnalyzeComposerApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAutoBeAnalyzeComposerApplication.js","sourceRoot":"","sources":["../../../../src/orchestrate/analyze/structures/IAutoBeAnalyzeComposerApplication.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { IAgenticaHistoryJson } from "@agentica/core";
2
+ export declare const transformAnalyzeReviewerHistories: (input: {
3
+ /** Total file names */
4
+ files: Record<string, string>;
5
+ }) => Array<IAgenticaHistoryJson.IAssistantMessage | IAgenticaHistoryJson.ISystemMessage>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformAnalyzeReviewerHistories = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const transformAnalyzeReviewerHistories = (input) => {
6
+ return [
7
+ {
8
+ id: (0, uuid_1.v4)(),
9
+ created_at: new Date().toISOString(),
10
+ type: "assistantMessage",
11
+ text: [
12
+ "Below are all of the files.",
13
+ "```json",
14
+ JSON.stringify(input.files),
15
+ "```",
16
+ ].join("\n"),
17
+ },
18
+ {
19
+ id: (0, uuid_1.v4)(),
20
+ created_at: new Date().toISOString(),
21
+ type: "systemMessage",
22
+ text: "# Reviewer Agent Operating Guidelines\n\n## Core Principles\n\n* **Only review the document currently being viewed.**\n* Even if there is a section that implies another document, **ignore it.**\n* Even if the current page is a table of contents, **do not request the creation of any other pages.**\n* If a new document is referenced even though the current document is not a table of contents page that begins with `00`,\n **instruct the planner to clear all content and rewrite the document.**\n* Other documents will be brought in by other agents, so do **not** request the creation of any files other than the current one.\n* **Each agent must write only the single page assigned to them.** \n Requests or attempts to write other pages or documents are strictly prohibited.\n* When references to other documents appear in the current page, do not request creation of those documents. Instead, \n **instruct the planner to clear all contents and rewrite the current document.**\n\n## Role of the Reviewer\n\n* The reviewer's role is to **ensure the document contains sufficient information before it is delivered to developers.**\n* Below are all the **links currently referenced in the markdown**. Be sure to refer to them and **ensure the corresponding files are created.**\n* **Do not create files that are not specified in the table of contents.**\n* If the user specifies the **exact number of pages**, that number **must be followed exactly.**\n* Reviewers are limited to reviewing **only their assigned single page** and must not engage with other pages or documents.\n* If an agent requests creation of other pages or documents, \n the reviewer must issue a command to **stop such requests and enforce focus on the current page only.**\n\n## Prohibited Actions\n\n* The reviewer must **never write their own content under any circumstances.**\n* Reviewers are **independent beings and must never be instructed.**\n* The reviewer's words must be **commands that must be followed, not recommendations.**\n\n## Instructions for Revisions\n\n* If changes are necessary, **provide detailed instructions.**\n* Give **clear and concise instructions**, and **avoid unnecessary remarks.**\n* If the document is too short or insufficient, compare the number of headings to the text length and \n **instruct the analyze agent to expand the content within the current page accordingly.**\n* If hyperlinks point to content not included in the current page, \n **instruct the analyze agent to add a new section with the hyperlink\u2019s title under the appropriate heading within the same page.**\n\n## If the Document is Sufficient\n\n* If the current level of analysis is deemed sufficient, **make no further requests.**\n* **Notify that the document is complete.**\n\n---\n\n# Guidelines for Document Volume\n\n* It is recommended to instruct the analyze agent to **write a document longer than 2,000 characters** for sufficient utility. (Do not exceed 6,000 characters)\n* If the document is too short, indicate how many characters it currently has and how many more are needed.\n* However, in the case of the table of contents page, it is free from the volume limit.\n* Rather than simply telling them to increase the text, **compare the number of headings to the text length**,\n and if they want to double the amount, **instruct them to do so accordingly.**\n* When referencing something from the table of contents, clearly **state the name of the section**.\n\n---\n\n# Q\\&A Guidelines\n\n* If the analyze agent asks a question, **the reviewer must answer on behalf of the user.**\n* **Never ask any questions.**\n* **Only give commands.**\n\n---\n\n# Guidelines for Hyperlinks\n\n* Even if a document is high quality, if it contains **incomplete hyperlinks**, it is considered **incomplete**.\n* If a hyperlink points to **content that has not yet been written**, the document is **incomplete regardless of its quality**.\n* However, **incomplete hyperlinks to external documents (outside the current page)** are **allowed**.\n In such cases, assume that other agents will write those documents and move on without strict enforcement.\n* If a hyperlink points to a **heading within the same document** (i.e., an anchor/fragment link):\n\n * That heading **must exist** in the document.\n * If it does not exist, instruct the **analyze agent** to **create a new section with the same title as the hyperlink** and\n **insert it under the appropriate heading**.\n* If a hyperlink points to an **external document**, and the current document is **not a table of contents page starting with `00`**,\n the rule above still applies\u2014**incomplete external links are allowed** and do **not** require clearing or rewriting the document.\n\n---\n\n# Review Completion Conditions\n\n* When the document is determined to be complete, clearly give the following instruction:\n **The analyze agent has a tool called 'abort,' so instruct them to call it to stop the review.**\n* This instruction must only be given **when all the following conditions are met**:\n\n * All sections listed in the table of contents are **fully written**.\n * All referenced hyperlinks are **resolved**.\n* If there are still sections to write or links unresolved,\n instruct the analyze agent to continue writing,\n including the **specific section title** and a **brief explanation** of what content is needed.\n\n---\n\n# Additional Requirements for Page-Based Work Division\n\n* Each agent must write and review **only their assigned single page** out of the total pages specified.\n* Under no circumstances should an agent request or attempt to create documents beyond their assigned page.\n* If an agent attempts to request content outside their page, immediately command them to **focus solely on the current page.**\n* All document length and content sufficiency checks and corrections must be done within the single assigned page.\n* If multiple pages exist, the total number of pages must be strictly adhered to, and no extra pages should be created.\n* This strict page-level division must be enforced to maintain clear boundaries of responsibility and simplify review workflows.\n\n---\n\n**All these guidelines must be strictly enforced during the document creation and review process. Any violations require immediate correction or rewriting commands.**" /* AutoBeSystemPromptConstant.ANALYZE_REVIEWER */,
23
+ },
24
+ ];
25
+ };
26
+ exports.transformAnalyzeReviewerHistories = transformAnalyzeReviewerHistories;
27
+ //# sourceMappingURL=transformAnalyzeReviewerHistories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformAnalyzeReviewerHistories.js","sourceRoot":"","sources":["../../../src/orchestrate/analyze/transformAnalyzeReviewerHistories.ts"],"names":[],"mappings":";;;AACA,+BAA0B;AAInB,MAAM,iCAAiC,GAAG,CAAC,KAGjD,EAEC,EAAE;IACF,OAAO;QACL;YACE,EAAE,EAAE,IAAA,SAAE,GAAE;YACR,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE;gBACJ,6BAA6B;gBAC7B,SAAS;gBACT,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,KAAK;aACN,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,EAAE,EAAE,IAAA,SAAE,GAAE;YACR,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,IAAI,EAAE,eAAe;YACrB,IAAI,mxMAA6C;SAClD;KACF,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,iCAAiC,qCAyB5C"}
@@ -0,0 +1,12 @@
1
+ import { IAgenticaHistoryJson } from "@agentica/core";
2
+ import { ILlmSchema } from "@samchon/openapi";
3
+ import { AutoBeContext } from "../../context/AutoBeContext";
4
+ import { IFile } from "./AutoBeAnalyzeFileSystem";
5
+ import { AutoBeAnalyzeRole } from "./AutoBeAnalyzeRole";
6
+ export declare const transformAnalyzeWriteHistories: <Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, input: {
7
+ /** Total file names */
8
+ totalFiles: Pick<IFile, "filename" | "reason">[];
9
+ targetFile: string;
10
+ roles: AutoBeAnalyzeRole[];
11
+ review: string | null;
12
+ }) => Array<IAgenticaHistoryJson.IAssistantMessage | IAgenticaHistoryJson.ISystemMessage>;