@caretakerai/agent 0.0.32 → 0.0.33-beta.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.
- package/dist/activities/action.d.ts +10 -0
- package/dist/activities/action.js +37 -0
- package/dist/activities/action.js.map +1 -0
- package/dist/activities/activity.d.ts +25 -0
- package/dist/activities/activity.js +36 -0
- package/dist/activities/activity.js.map +1 -0
- package/dist/activities/index.d.ts +7 -0
- package/dist/activities/index.js +24 -0
- package/dist/activities/index.js.map +1 -0
- package/dist/activities/instruction.d.ts +12 -0
- package/dist/activities/instruction.js +26 -0
- package/dist/activities/instruction.js.map +1 -0
- package/dist/activities/objective.d.ts +12 -0
- package/dist/activities/objective.js +26 -0
- package/dist/activities/objective.js.map +1 -0
- package/dist/activities/observation.d.ts +10 -0
- package/dist/activities/observation.js +37 -0
- package/dist/activities/observation.js.map +1 -0
- package/dist/activities/schema.d.ts +12 -0
- package/dist/activities/schema.js +28 -0
- package/dist/activities/schema.js.map +1 -0
- package/dist/activities/thought.d.ts +10 -0
- package/dist/activities/thought.js +28 -0
- package/dist/activities/thought.js.map +1 -0
- package/dist/agent.d.ts +18 -14
- package/dist/agent.js +119 -155
- package/dist/agent.js.map +1 -1
- package/dist/history/index.d.ts +3 -0
- package/dist/history/index.js +20 -0
- package/dist/history/index.js.map +1 -0
- package/dist/history/input.d.ts +17 -0
- package/dist/history/input.js +54 -0
- package/dist/history/input.js.map +1 -0
- package/dist/history/output.d.ts +9 -0
- package/dist/history/output.js +27 -0
- package/dist/history/output.js.map +1 -0
- package/dist/history/transformer.d.ts +4 -0
- package/dist/{types.js → history/transformer.js} +1 -1
- package/dist/history/transformer.js.map +1 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/activity.d.ts +0 -35
- package/dist/activity.js +0 -128
- package/dist/activity.js.map +0 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -5
- package/dist/constants.js.map +0 -1
- package/dist/types.d.ts +0 -4
- package/dist/types.js.map +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MessageFieldWithRole, MessageType } from '@langchain/core/messages';
|
|
2
|
+
import type { StringWithAutocomplete } from '@langchain/core/utils/types';
|
|
3
|
+
import type { Activity, ActivityTransformer } from './activity';
|
|
4
|
+
import { ActivityKind } from './activity';
|
|
5
|
+
export declare class ActionTransformer implements ActivityTransformer {
|
|
6
|
+
readonly kind = ActivityKind.Action;
|
|
7
|
+
readonly role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
8
|
+
parse(text: string): Activity | null;
|
|
9
|
+
stringify({ input }: Activity): MessageFieldWithRole;
|
|
10
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActionTransformer = void 0;
|
|
4
|
+
const activity_1 = require("./activity");
|
|
5
|
+
class ActionTransformer {
|
|
6
|
+
kind = activity_1.ActivityKind.Action;
|
|
7
|
+
role = 'assistant';
|
|
8
|
+
parse(text) {
|
|
9
|
+
const pattern = /<BEGIN\s+ACTION>(.*?)<END\s+ACTION>/is;
|
|
10
|
+
const match = text.match(pattern);
|
|
11
|
+
if (!match) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const input = match[1].trim()
|
|
15
|
+
.replace(/^```graphql?\s*/i, '') // Remove opening ```graphql tag with optional whitespace
|
|
16
|
+
.replace(/\s*```\s*$/, '') // Remove closing ``` with optional whitespace
|
|
17
|
+
.trim();
|
|
18
|
+
return {
|
|
19
|
+
kind: this.kind,
|
|
20
|
+
input,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
stringify({ input }) {
|
|
24
|
+
return {
|
|
25
|
+
role: this.role,
|
|
26
|
+
content: `
|
|
27
|
+
<BEGIN ${this.kind}>
|
|
28
|
+
\`\`\`graphql
|
|
29
|
+
${input}
|
|
30
|
+
\`\`\`
|
|
31
|
+
<END ${this.kind}>
|
|
32
|
+
`.trim(),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.ActionTransformer = ActionTransformer;
|
|
37
|
+
//# sourceMappingURL=action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/activities/action.ts"],"names":[],"mappings":";;;AAIA,yCAA0C;AAG1C,MAAa,iBAAiB;IACnB,IAAI,GAAG,uBAAY,CAAC,MAAM,CAAC;IAC3B,IAAI,GAA+D,WAAW,CAAC;IAExF,KAAK,CAAC,IAAY;QAChB,MAAM,OAAO,GAAG,uCAAuC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aAC1B,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAE,yDAAyD;aAC1F,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAQ,8CAA8C;aAC/E,IAAI,EAAE,CAAC;QAEV,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;SACN,CAAA;IACH,CAAC;IAED,SAAS,CAAC,EAAE,KAAK,EAAY;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE;SACN,IAAI,CAAC,IAAI;;EAEhB,KAAK;;OAEA,IAAI,CAAC,IAAI;OACT,CAAC,IAAI,EAAE;SACT,CAAC;IACJ,CAAC;CACF;AAnCD,8CAmCC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { StringWithAutocomplete } from '@langchain/core/dist/utils/types';
|
|
2
|
+
import { MessageFieldWithRole, MessageType } from '@langchain/core/messages';
|
|
3
|
+
export declare const ACTIVITY_SEP = "\n\n";
|
|
4
|
+
/**
|
|
5
|
+
* Enum representing the kinds of activities that an agent can perform.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ActivityKind {
|
|
8
|
+
/** An observation made by the agent. */
|
|
9
|
+
Observation = "OBSERVATION",
|
|
10
|
+
/** A thought process of the agent. */
|
|
11
|
+
Thought = "THOUGHT",
|
|
12
|
+
/** An action taken by the agent. */
|
|
13
|
+
Action = "ACTION"
|
|
14
|
+
}
|
|
15
|
+
export type Activity = {
|
|
16
|
+
kind: ActivityKind | string;
|
|
17
|
+
input: string;
|
|
18
|
+
};
|
|
19
|
+
export type ActivityTransformer = {
|
|
20
|
+
kind: string;
|
|
21
|
+
role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
22
|
+
parse(text: string): Activity | null;
|
|
23
|
+
stringify(activity: Activity): MessageFieldWithRole;
|
|
24
|
+
};
|
|
25
|
+
export declare function stringify(activities: Activity[], transformers: ActivityTransformer[]): MessageFieldWithRole[];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringify = exports.ActivityKind = exports.ACTIVITY_SEP = void 0;
|
|
4
|
+
exports.ACTIVITY_SEP = '\n\n';
|
|
5
|
+
/**
|
|
6
|
+
* Enum representing the kinds of activities that an agent can perform.
|
|
7
|
+
*/
|
|
8
|
+
var ActivityKind;
|
|
9
|
+
(function (ActivityKind) {
|
|
10
|
+
/** An observation made by the agent. */
|
|
11
|
+
ActivityKind["Observation"] = "OBSERVATION";
|
|
12
|
+
/** A thought process of the agent. */
|
|
13
|
+
ActivityKind["Thought"] = "THOUGHT";
|
|
14
|
+
/** An action taken by the agent. */
|
|
15
|
+
ActivityKind["Action"] = "ACTION";
|
|
16
|
+
})(ActivityKind || (exports.ActivityKind = ActivityKind = {}));
|
|
17
|
+
function stringify(activities, transformers) {
|
|
18
|
+
return activities.reduce((messages, activity) => {
|
|
19
|
+
const transformer = transformers.find(({ kind }) => kind === activity.kind);
|
|
20
|
+
if (!transformer) {
|
|
21
|
+
throw new Error(`No transformer found for activity kind: ${activity.kind}`);
|
|
22
|
+
}
|
|
23
|
+
const message = transformer.stringify(activity);
|
|
24
|
+
const lastMessage = messages.at(-1);
|
|
25
|
+
// Combine with previous message if same role
|
|
26
|
+
if (lastMessage?.role === message.role) {
|
|
27
|
+
lastMessage.content = `${lastMessage.content}${exports.ACTIVITY_SEP}${message.content}`;
|
|
28
|
+
return messages;
|
|
29
|
+
}
|
|
30
|
+
// Otherwise add as new message
|
|
31
|
+
messages.push(message);
|
|
32
|
+
return messages;
|
|
33
|
+
}, []);
|
|
34
|
+
}
|
|
35
|
+
exports.stringify = stringify;
|
|
36
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/activities/activity.ts"],"names":[],"mappings":";;;AAGa,QAAA,YAAY,GAAG,MAAM,CAAC;AAEnC;;GAEG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,wCAAwC;IACxC,2CAA2B,CAAA;IAC3B,sCAAsC;IACtC,mCAAmB,CAAA;IACnB,oCAAoC;IACpC,iCAAiB,CAAA;AACnB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAcD,SAAgB,SAAS,CACvB,UAAsB,EACtB,YAAmC;IAEnC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAgC,EAAE,QAAkB,EAAE,EAAE;QAChF,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5E,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7E;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpC,6CAA6C;QAC7C,IAAI,WAAW,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;YACtC,WAAW,CAAC,OAAO,GAAG,GAAG,WAAW,CAAC,OAAO,GAAG,oBAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAChF,OAAO,QAAQ,CAAC;SACjB;QAED,+BAA+B;QAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAxBD,8BAwBC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./activity"), exports);
|
|
18
|
+
__exportStar(require("./observation"), exports);
|
|
19
|
+
__exportStar(require("./thought"), exports);
|
|
20
|
+
__exportStar(require("./action"), exports);
|
|
21
|
+
__exportStar(require("./objective"), exports);
|
|
22
|
+
__exportStar(require("./schema"), exports);
|
|
23
|
+
__exportStar(require("./instruction"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/activities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAE3B,gDAA8B;AAC9B,4CAA0B;AAC1B,2CAAyB;AAEzB,8CAA4B;AAC5B,2CAAyB;AACzB,gDAA8B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MessageFieldWithRole, MessageType } from '@langchain/core/messages';
|
|
2
|
+
import type { StringWithAutocomplete } from '@langchain/core/utils/types';
|
|
3
|
+
import type { Activity, ActivityTransformer } from './activity';
|
|
4
|
+
export declare class InstructionTransformer implements ActivityTransformer {
|
|
5
|
+
readonly kind = "INSTRUCTION";
|
|
6
|
+
readonly role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
7
|
+
parse(text: string): Activity | null;
|
|
8
|
+
stringify({ input }: Activity): MessageFieldWithRole;
|
|
9
|
+
}
|
|
10
|
+
export declare class OpenAIOSeriesInstructionTransformer extends InstructionTransformer {
|
|
11
|
+
role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenAIOSeriesInstructionTransformer = exports.InstructionTransformer = void 0;
|
|
4
|
+
class InstructionTransformer {
|
|
5
|
+
kind = 'INSTRUCTION';
|
|
6
|
+
role = 'system';
|
|
7
|
+
parse(text) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
stringify({ input }) {
|
|
11
|
+
return {
|
|
12
|
+
role: this.role,
|
|
13
|
+
content: `
|
|
14
|
+
<BEGIN ${this.kind}>
|
|
15
|
+
${input}
|
|
16
|
+
<END ${this.kind}>
|
|
17
|
+
`.trim(),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.InstructionTransformer = InstructionTransformer;
|
|
22
|
+
class OpenAIOSeriesInstructionTransformer extends InstructionTransformer {
|
|
23
|
+
role = 'developer';
|
|
24
|
+
}
|
|
25
|
+
exports.OpenAIOSeriesInstructionTransformer = OpenAIOSeriesInstructionTransformer;
|
|
26
|
+
//# sourceMappingURL=instruction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instruction.js","sourceRoot":"","sources":["../../src/activities/instruction.ts"],"names":[],"mappings":";;;AAIA,MAAa,sBAAsB;IACxB,IAAI,GAAG,aAAa,CAAC;IACrB,IAAI,GAA+D,QAAQ,CAAC;IAErF,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,EAAE,KAAK,EAAY;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE;SACN,IAAI,CAAC,IAAI;EAChB,KAAK;OACA,IAAI,CAAC,IAAI;CACf,CAAC,IAAI,EAAE;SACH,CAAC;IACJ,CAAC;CACF;AAlBD,wDAkBC;AAED,MAAa,mCAAoC,SAAQ,sBAAsB;IAC7E,IAAI,GAA+D,WAAW,CAAC;CAChF;AAFD,kFAEC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MessageFieldWithRole, MessageType } from '@langchain/core/messages';
|
|
2
|
+
import type { StringWithAutocomplete } from '@langchain/core/utils/types';
|
|
3
|
+
import type { Activity, ActivityTransformer } from './activity';
|
|
4
|
+
export declare class ObjectiveTransformer implements ActivityTransformer {
|
|
5
|
+
readonly kind = "OBJECTIVE";
|
|
6
|
+
readonly role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
7
|
+
parse(text: string): Activity | null;
|
|
8
|
+
stringify({ input }: Activity): MessageFieldWithRole;
|
|
9
|
+
}
|
|
10
|
+
export declare class OpenAIOSeriesObjectiveTransformer extends ObjectiveTransformer {
|
|
11
|
+
role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenAIOSeriesObjectiveTransformer = exports.ObjectiveTransformer = void 0;
|
|
4
|
+
class ObjectiveTransformer {
|
|
5
|
+
kind = 'OBJECTIVE';
|
|
6
|
+
role = 'system';
|
|
7
|
+
parse(text) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
stringify({ input }) {
|
|
11
|
+
return {
|
|
12
|
+
role: this.role,
|
|
13
|
+
content: `
|
|
14
|
+
<BEGIN ${this.kind}>
|
|
15
|
+
${input}
|
|
16
|
+
<END ${this.kind}>
|
|
17
|
+
`.trim(),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.ObjectiveTransformer = ObjectiveTransformer;
|
|
22
|
+
class OpenAIOSeriesObjectiveTransformer extends ObjectiveTransformer {
|
|
23
|
+
role = 'developer';
|
|
24
|
+
}
|
|
25
|
+
exports.OpenAIOSeriesObjectiveTransformer = OpenAIOSeriesObjectiveTransformer;
|
|
26
|
+
//# sourceMappingURL=objective.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objective.js","sourceRoot":"","sources":["../../src/activities/objective.ts"],"names":[],"mappings":";;;AAIA,MAAa,oBAAoB;IACtB,IAAI,GAAG,WAAW,CAAC;IACnB,IAAI,GAA+D,QAAQ,CAAC;IAErF,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,EAAE,KAAK,EAAY;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE;SACN,IAAI,CAAC,IAAI;EAChB,KAAK;OACA,IAAI,CAAC,IAAI;CACf,CAAC,IAAI,EAAE;SACH,CAAC;IACJ,CAAC;CACF;AAlBD,oDAkBC;AAED,MAAa,iCAAkC,SAAQ,oBAAoB;IACzE,IAAI,GAA+D,WAAW,CAAC;CAChF;AAFD,8EAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MessageFieldWithRole, MessageType } from '@langchain/core/messages';
|
|
2
|
+
import type { StringWithAutocomplete } from '@langchain/core/utils/types';
|
|
3
|
+
import type { Activity, ActivityTransformer } from './activity';
|
|
4
|
+
import { ActivityKind } from './activity';
|
|
5
|
+
export declare class ObservationTransformer implements ActivityTransformer {
|
|
6
|
+
readonly kind = ActivityKind.Observation;
|
|
7
|
+
readonly role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
8
|
+
parse(text: string): Activity | null;
|
|
9
|
+
stringify({ input }: Activity): MessageFieldWithRole;
|
|
10
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObservationTransformer = void 0;
|
|
4
|
+
const activity_1 = require("./activity");
|
|
5
|
+
class ObservationTransformer {
|
|
6
|
+
kind = activity_1.ActivityKind.Observation;
|
|
7
|
+
role = 'user';
|
|
8
|
+
parse(text) {
|
|
9
|
+
const pattern = /<BEGIN\s+OBSERVATION>(.*?)<END\s+OBSERVATION>/is;
|
|
10
|
+
const match = text.match(pattern);
|
|
11
|
+
if (!match) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const input = match[1].trim()
|
|
15
|
+
.replace(/^```yaml?\s*/i, '') // Remove opening ```yaml with optional whitespace
|
|
16
|
+
.replace(/\s*```\s*$/, '') // Remove closing ``` with optional whitespace
|
|
17
|
+
.trim();
|
|
18
|
+
return {
|
|
19
|
+
kind: this.kind,
|
|
20
|
+
input,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
stringify({ input }) {
|
|
24
|
+
return {
|
|
25
|
+
role: this.role,
|
|
26
|
+
content: `
|
|
27
|
+
<BEGIN ${this.kind}>
|
|
28
|
+
\`\`\`yaml
|
|
29
|
+
${input}
|
|
30
|
+
\`\`\`
|
|
31
|
+
<END ${this.kind}>
|
|
32
|
+
`.trim(),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.ObservationTransformer = ObservationTransformer;
|
|
37
|
+
//# sourceMappingURL=observation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/activities/observation.ts"],"names":[],"mappings":";;;AAIA,yCAA0C;AAE1C,MAAa,sBAAsB;IACxB,IAAI,GAAG,uBAAY,CAAC,WAAW,CAAC;IAChC,IAAI,GAA+D,MAAM,CAAC;IAEnF,KAAK,CAAC,IAAY;QAChB,MAAM,OAAO,GAAG,iDAAiD,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aAC1B,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,kDAAkD;aAC/E,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAI,8CAA8C;aAC3E,IAAI,EAAE,CAAC;QAEV,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;SACN,CAAA;IACH,CAAC;IAED,SAAS,CAAC,EAAE,KAAK,EAAY;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAC;SACL,IAAI,CAAC,IAAI;;EAEhB,KAAK;;OAEA,IAAI,CAAC,IAAI;OACT,CAAC,IAAI,EAAE;SACT,CAAC;IACJ,CAAC;CACF;AAnCD,wDAmCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MessageFieldWithRole, MessageType } from '@langchain/core/messages';
|
|
2
|
+
import type { StringWithAutocomplete } from '@langchain/core/utils/types';
|
|
3
|
+
import type { Activity, ActivityTransformer } from './activity';
|
|
4
|
+
export declare class SchemaTransformer implements ActivityTransformer {
|
|
5
|
+
readonly kind = "SCHEMA";
|
|
6
|
+
readonly role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
7
|
+
parse(text: string): Activity | null;
|
|
8
|
+
stringify({ input }: Activity): MessageFieldWithRole;
|
|
9
|
+
}
|
|
10
|
+
export declare class OpenAIOSeriesSchemaTransformer extends SchemaTransformer {
|
|
11
|
+
role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenAIOSeriesSchemaTransformer = exports.SchemaTransformer = void 0;
|
|
4
|
+
class SchemaTransformer {
|
|
5
|
+
kind = 'SCHEMA';
|
|
6
|
+
role = 'system';
|
|
7
|
+
parse(text) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
stringify({ input }) {
|
|
11
|
+
return {
|
|
12
|
+
role: this.role,
|
|
13
|
+
content: `
|
|
14
|
+
<BEGIN ${this.kind}>
|
|
15
|
+
\`\`\`graphql
|
|
16
|
+
${input}
|
|
17
|
+
\`\`\`
|
|
18
|
+
<END ${this.kind}>
|
|
19
|
+
`.trim(),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.SchemaTransformer = SchemaTransformer;
|
|
24
|
+
class OpenAIOSeriesSchemaTransformer extends SchemaTransformer {
|
|
25
|
+
role = 'developer';
|
|
26
|
+
}
|
|
27
|
+
exports.OpenAIOSeriesSchemaTransformer = OpenAIOSeriesSchemaTransformer;
|
|
28
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/activities/schema.ts"],"names":[],"mappings":";;;AAIA,MAAa,iBAAiB;IACnB,IAAI,GAAG,QAAQ,CAAC;IAChB,IAAI,GAA+D,QAAQ,CAAC;IAErF,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,EAAE,KAAK,EAAY;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE;SACN,IAAI,CAAC,IAAI;;EAEhB,KAAK;;OAEA,IAAI,CAAC,IAAI;CACf,CAAC,IAAI,EAAE;SACH,CAAC;IACJ,CAAC;CACF;AApBD,8CAoBC;AAED,MAAa,8BAA+B,SAAQ,iBAAiB;IACnE,IAAI,GAA+D,WAAW,CAAC;CAChF;AAFD,wEAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MessageFieldWithRole, MessageType } from '@langchain/core/messages';
|
|
2
|
+
import type { StringWithAutocomplete } from '@langchain/core/utils/types';
|
|
3
|
+
import type { Activity, ActivityTransformer } from './activity';
|
|
4
|
+
import { ActivityKind } from './activity';
|
|
5
|
+
export declare class ThoughtTransformer implements ActivityTransformer {
|
|
6
|
+
readonly kind = ActivityKind.Thought;
|
|
7
|
+
readonly role: StringWithAutocomplete<'user' | 'assistant' | MessageType>;
|
|
8
|
+
parse(text: string): Activity | null;
|
|
9
|
+
stringify({ input }: Activity): MessageFieldWithRole;
|
|
10
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ThoughtTransformer = void 0;
|
|
4
|
+
const activity_1 = require("./activity");
|
|
5
|
+
class ThoughtTransformer {
|
|
6
|
+
kind = activity_1.ActivityKind.Thought;
|
|
7
|
+
role = 'assistant';
|
|
8
|
+
parse(text) {
|
|
9
|
+
const pattern = /<BEGIN\s+THOUGHT>(.*?)<END\s+THOUGHT>/is;
|
|
10
|
+
const match = text.match(pattern);
|
|
11
|
+
if (!match) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const input = match[1].trim();
|
|
15
|
+
return {
|
|
16
|
+
kind: this.kind,
|
|
17
|
+
input,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
stringify({ input }) {
|
|
21
|
+
return {
|
|
22
|
+
role: 'assistant',
|
|
23
|
+
content: `<BEGIN ${this.kind}>\n${input}\n<END ${this.kind}>`,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.ThoughtTransformer = ThoughtTransformer;
|
|
28
|
+
//# sourceMappingURL=thought.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thought.js","sourceRoot":"","sources":["../../src/activities/thought.ts"],"names":[],"mappings":";;;AAIA,yCAA0C;AAE1C,MAAa,kBAAkB;IACpB,IAAI,GAAG,uBAAY,CAAC,OAAO,CAAC;IAC5B,IAAI,GAA+D,WAAW,CAAC;IAExF,KAAK,CAAC,IAAY;QAChB,MAAM,OAAO,GAAG,yCAAyC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;SACN,CAAA;IACH,CAAC;IAED,SAAS,CAAC,EAAE,KAAK,EAAY;QAC3B,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,UAAU,IAAI,CAAC,IAAI,MAAM,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG;SAC9D,CAAC;IACJ,CAAC;CACF;AA1BD,gDA0BC"}
|
package/dist/agent.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { PromptTemplate } from '@langchain/core/prompts';
|
|
|
3
3
|
import { BaseLanguageModel } from '@langchain/core/language_models/base';
|
|
4
4
|
import type { TypeSource, IResolvers } from '@graphql-tools/utils';
|
|
5
5
|
import { ExecutionResult, GraphQLSchema } from 'graphql';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { HistoryTransformer } from './history/transformer';
|
|
7
|
+
import { Activity, ActivityTransformer } from './activities/activity';
|
|
8
8
|
type GraphQLExecutor = (query: string) => Promise<ExecutionResult>;
|
|
9
9
|
/**
|
|
10
10
|
* Parameters for initializing an Agent.
|
|
@@ -16,8 +16,6 @@ interface AgentPrams {
|
|
|
16
16
|
description?: string;
|
|
17
17
|
/** The language model the agent will use. */
|
|
18
18
|
llm: BaseLanguageModel;
|
|
19
|
-
/** Is chat model is used. Used to mitigate Langchain Human prefix in case of interacting with chat model. should be removed in favor of LLM selectors once fixed */
|
|
20
|
-
isChatModel?: boolean;
|
|
21
19
|
/** A GraphQL type definitions document. */
|
|
22
20
|
typeDefs: TypeSource;
|
|
23
21
|
/** A GraphQL resolvers. Will be ignored if custom executor is used. Optional. */
|
|
@@ -36,8 +34,12 @@ interface AgentPrams {
|
|
|
36
34
|
maxIterations?: number;
|
|
37
35
|
/** The maximum number of retries for actions. Optional. */
|
|
38
36
|
maxRetries?: number;
|
|
39
|
-
/** The
|
|
40
|
-
|
|
37
|
+
/** The list of transformers that convert activities into LLM messages. */
|
|
38
|
+
transformers?: ActivityTransformer[];
|
|
39
|
+
/** The pipeline of history filter applied to activities before prompting LLM. */
|
|
40
|
+
inputTransformers?: HistoryTransformer[];
|
|
41
|
+
/** The pipeline of history filter applied to activities generated by the LLM. */
|
|
42
|
+
outputTransformer?: HistoryTransformer[];
|
|
41
43
|
/** The template for generating prompts for the agent. Optional. */
|
|
42
44
|
signal?: AbortSignal;
|
|
43
45
|
/** The template for generating prompts for the agent. Optional. */
|
|
@@ -47,7 +49,10 @@ interface AgentPrams {
|
|
|
47
49
|
/** The logger the agent will use for outputting information. Optional. */
|
|
48
50
|
logger?: Logger;
|
|
49
51
|
}
|
|
50
|
-
export declare class
|
|
52
|
+
export declare class AgentError extends Error {
|
|
53
|
+
constructor(message: string);
|
|
54
|
+
}
|
|
55
|
+
export declare class AgentRetryError extends AgentError {
|
|
51
56
|
errors: Error[];
|
|
52
57
|
constructor(message: string, errors: Error[]);
|
|
53
58
|
}
|
|
@@ -58,24 +63,23 @@ export declare class Agent implements AgentPrams {
|
|
|
58
63
|
typeDefs: TypeSource;
|
|
59
64
|
resolvers: IResolvers;
|
|
60
65
|
history: Activity[];
|
|
61
|
-
examples: Activity[];
|
|
62
66
|
objective: string;
|
|
63
67
|
instruction: string;
|
|
64
68
|
maxIterations: number;
|
|
65
69
|
maxRetries: number;
|
|
66
|
-
isChatModel: boolean;
|
|
67
70
|
signal: AbortSignal;
|
|
68
|
-
|
|
71
|
+
transformers: ActivityTransformer[];
|
|
72
|
+
inputTransformers: HistoryTransformer[];
|
|
73
|
+
outputTransformer: HistoryTransformer[];
|
|
69
74
|
logger: Logger;
|
|
70
|
-
template?: PromptTemplate;
|
|
71
75
|
executor?: GraphQLExecutor;
|
|
72
76
|
readonly schema: GraphQLSchema;
|
|
73
77
|
static defaults: Partial<AgentPrams>;
|
|
74
78
|
constructor(params: AgentPrams);
|
|
75
79
|
private addActivities;
|
|
76
80
|
cancel(reason?: any): void;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
invoke(
|
|
81
|
+
transform(history: Activity[]): Promise<Activity[]>;
|
|
82
|
+
transformAndExecute(): Promise<void>;
|
|
83
|
+
invoke(): Promise<void>;
|
|
80
84
|
}
|
|
81
85
|
export {};
|