Skip to content

Commit 11e24f8

Browse files
committed
outlines
1 parent fc0ea13 commit 11e24f8

5 files changed

Lines changed: 42 additions & 7 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "agent-swarm-kit",
3-
"version": "1.1.114",
3+
"version": "1.1.115",
44
"description": "A TypeScript library for building orchestrated framework-agnostic multi-agent AI systems",
55
"author": {
66
"name": "Petr Tripolsky",

src/functions/setup/addOutline.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
import { IOutlineSchema } from "../../interfaces/Outline.interface";
1+
import {
2+
IOutlineData,
3+
IOutlineParam,
4+
IOutlineSchema,
5+
} from "../../interfaces/Outline.interface";
26
import swarm from "../../lib";
37
import { GLOBAL_CONFIG } from "../../config/params";
48
import beginContext from "../../utils/beginContext";
@@ -40,6 +44,9 @@ const addOutlineInternal = beginContext((outlineSchema: IOutlineSchema) => {
4044
* @param {IOutlineSchema} outlineSchema - The outline schema to register, containing the outline name and configuration.
4145
* @returns {string} The name of the registered outline.
4246
*/
43-
export function addOutline(outlineSchema: IOutlineSchema) {
47+
export function addOutline<
48+
Data extends IOutlineData = IOutlineData,
49+
Param extends IOutlineParam = IOutlineParam
50+
>(outlineSchema: IOutlineSchema<Data, Param>) {
4451
return addOutlineInternal(outlineSchema);
4552
}

src/lib/services/base/DocService.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ import ComputeValidationService from "../validation/ComputeValidationService";
2626
import ComputeSchemaService from "../schema/ComputeSchemaService";
2727
import OutlineValidationService from "../validation/OutlineValidationService";
2828
import OutlineSchemaService from "../schema/OutlineSchemaService";
29-
import { IOutlineSchema } from "../../../interfaces/Outline.interface";
29+
import {
30+
IOutlineSchema,
31+
IOutlineValidation,
32+
} from "../../../interfaces/Outline.interface";
33+
import isObject from "../../../utils/isObject";
3034

3135
/**
3236
* Maximum number of concurrent threads for documentation generation tasks.
@@ -495,6 +499,30 @@ export class DocService {
495499
result.push("");
496500
result.push(`*Empty parameters*`);
497501
}
502+
result.push("");
503+
}
504+
505+
const getValidations = () => {
506+
if (outlineSchema.validations) {
507+
return outlineSchema.validations
508+
.filter((validation) => typeof validation === "object")
509+
.filter((validation) => !!validation.docDescription);
510+
}
511+
return [];
512+
};
513+
514+
const validations = getValidations();
515+
516+
if (validations.length) {
517+
result.push(`## Validations`);
518+
result.push("");
519+
for (let i = 0; i !== prompt.length; i++) {
520+
if (!validations[i].docDescription) {
521+
continue;
522+
}
523+
result.push(`${i + 1}. \`${sanitizeMarkdown(validations[i].docDescription)}\``);
524+
result.push("");
525+
}
498526
}
499527

500528
if (outlineSchema.callbacks) {

types.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12051,7 +12051,7 @@ declare function addPipeline<Payload extends object = any>(pipelineSchema: IPipe
1205112051
* @param {IOutlineSchema} outlineSchema - The outline schema to register, containing the outline name and configuration.
1205212052
* @returns {string} The name of the registered outline.
1205312053
*/
12054-
declare function addOutline(outlineSchema: IOutlineSchema): string;
12054+
declare function addOutline<Data extends IOutlineData = IOutlineData, Param extends IOutlineParam = IOutlineParam>(outlineSchema: IOutlineSchema<Data, Param>): string;
1205512055

1205612056
type TAgentSchema = {
1205712057
agentName: IAgentSchema["agentName"];

0 commit comments

Comments
 (0)