@caretakerai/agent 0.0.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/action.d.ts +22 -0
- package/dist/action.js +37 -0
- package/dist/action.js.map +1 -0
- package/dist/activity.d.ts +23 -0
- package/dist/activity.js +42 -0
- package/dist/activity.js.map +1 -0
- package/dist/agent.d.ts +39 -0
- package/dist/agent.js +115 -0
- package/dist/agent.js.map +1 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.js +25 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +24 -0
package/dist/action.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Agent } from './agent';
|
|
2
|
+
import type { Activity } from './activity';
|
|
3
|
+
export interface ActionInput {
|
|
4
|
+
input: string;
|
|
5
|
+
agent: Agent;
|
|
6
|
+
}
|
|
7
|
+
export interface ActionExample {
|
|
8
|
+
description?: string;
|
|
9
|
+
activities: Activity[];
|
|
10
|
+
}
|
|
11
|
+
export declare abstract class Action {
|
|
12
|
+
abstract get exit(): boolean;
|
|
13
|
+
abstract get kind(): string;
|
|
14
|
+
abstract get description(): string;
|
|
15
|
+
abstract get examples(): ActionExample[];
|
|
16
|
+
abstract execute(input: ActionInput): Promise<string>;
|
|
17
|
+
toString(): string;
|
|
18
|
+
static parse(text: string): {
|
|
19
|
+
kind: string;
|
|
20
|
+
input: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
package/dist/action.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Action = void 0;
|
|
7
|
+
const dedent_1 = __importDefault(require("dedent"));
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
class Action {
|
|
10
|
+
toString() {
|
|
11
|
+
const examples = this.examples
|
|
12
|
+
.reduce((acc, { description, activities }) => (0, dedent_1.default) `
|
|
13
|
+
${acc}
|
|
14
|
+
|
|
15
|
+
${description}
|
|
16
|
+
\`\`\`
|
|
17
|
+
${activities.map(a => a.toString()).join(`\n${constants_1.ACTIVITY_SEP}\n`)}
|
|
18
|
+
\`\`\`
|
|
19
|
+
`.trim(), '');
|
|
20
|
+
return (0, dedent_1.default) `
|
|
21
|
+
### ${this.kind}
|
|
22
|
+
${this.description}
|
|
23
|
+
|
|
24
|
+
#### Examples
|
|
25
|
+
${examples}
|
|
26
|
+
`.trim();
|
|
27
|
+
}
|
|
28
|
+
static parse(text) {
|
|
29
|
+
const [kind, ...rest] = text.split('\n');
|
|
30
|
+
return {
|
|
31
|
+
kind: kind.trim(),
|
|
32
|
+
input: rest.join('\n'),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.Action = Action;
|
|
37
|
+
//# sourceMappingURL=action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAG5B,2CAA2C;AAY3C,MAAsB,MAAM;IAQ1B,QAAQ;QACN,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;aAC3B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAA,gBAAM,EAAA;UAChD,GAAG;;UAEH,WAAW;;UAEX,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,wBAAY,IAAI,CAAC;;OAEhE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAEhB,OAAO,IAAA,gBAAM,EAAA;YACL,IAAI,CAAC,IAAI;QACb,IAAI,CAAC,WAAW;;;QAGhB,QAAQ;OACT,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAExC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SACvB,CAAC;IACJ,CAAC;CACF;AApCD,wBAoCC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare enum ActivityKind {
|
|
2
|
+
Observation = "Observation",
|
|
3
|
+
Thought = "Thought",
|
|
4
|
+
Action = "Action"
|
|
5
|
+
}
|
|
6
|
+
export type ActivityParams = {
|
|
7
|
+
kind: ActivityKind;
|
|
8
|
+
order: number;
|
|
9
|
+
input: string;
|
|
10
|
+
tokens?: number;
|
|
11
|
+
};
|
|
12
|
+
export declare class Activity implements ActivityParams {
|
|
13
|
+
kind: ActivityKind;
|
|
14
|
+
order: number;
|
|
15
|
+
input: string;
|
|
16
|
+
tokens?: number;
|
|
17
|
+
static readonly defaults: Partial<ActivityParams>;
|
|
18
|
+
constructor(params: ActivityParams);
|
|
19
|
+
toString(): string;
|
|
20
|
+
toObject(): this;
|
|
21
|
+
static parse(text: string): Activity;
|
|
22
|
+
static fromObject({ kind, order, input }: Record<string, any>): Activity;
|
|
23
|
+
}
|
package/dist/activity.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Activity = exports.ActivityKind = void 0;
|
|
4
|
+
var ActivityKind;
|
|
5
|
+
(function (ActivityKind) {
|
|
6
|
+
ActivityKind["Observation"] = "Observation";
|
|
7
|
+
ActivityKind["Thought"] = "Thought";
|
|
8
|
+
ActivityKind["Action"] = "Action";
|
|
9
|
+
})(ActivityKind || (exports.ActivityKind = ActivityKind = {}));
|
|
10
|
+
class Activity {
|
|
11
|
+
constructor(params) {
|
|
12
|
+
Object.assign(this, params);
|
|
13
|
+
}
|
|
14
|
+
toString() {
|
|
15
|
+
return `//${this.kind} ${this.order}// ${this.input}`;
|
|
16
|
+
}
|
|
17
|
+
toObject() {
|
|
18
|
+
return { ...this };
|
|
19
|
+
}
|
|
20
|
+
static parse(text) {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
const kindRegexp = /^\/\/(.+?)\s/;
|
|
23
|
+
const orderRegexp = /^\/\/\w+\s(.+?)\/\//;
|
|
24
|
+
if (!kindRegexp.test(text)) {
|
|
25
|
+
throw new Error('Cannot parse kind from the given text');
|
|
26
|
+
}
|
|
27
|
+
const kind = (_a = text.match(kindRegexp)) === null || _a === void 0 ? void 0 : _a[1].trim();
|
|
28
|
+
if (!orderRegexp.test(text)) {
|
|
29
|
+
throw new Error('Cannot parse order from the given text');
|
|
30
|
+
}
|
|
31
|
+
const order = parseInt((_b = text.match(orderRegexp)) === null || _b === void 0 ? void 0 : _b[1].trim());
|
|
32
|
+
const input = text.replace(/^\/\/.+\/\/\s/, '');
|
|
33
|
+
const activity = new Activity({ kind, order, input });
|
|
34
|
+
return activity;
|
|
35
|
+
}
|
|
36
|
+
static fromObject({ kind, order, input }) {
|
|
37
|
+
return new Activity({ kind, order, input });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Activity = Activity;
|
|
41
|
+
Activity.defaults = {};
|
|
42
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;AACnB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AASD,MAAa,QAAQ;IASnB,YAAY,MAAsB;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAY;;QACvB,MAAM,UAAU,GAAG,cAAc,CAAC;QAClC,MAAM,WAAW,GAAG,qBAAqB,CAAC;QAE1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QAED,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,0CAAG,CAAC,EAAE,IAAI,EAAmB,CAAC;QAEjE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAAG,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAuB;QAC3D,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;;AA7CH,4BA8CC;AAxCiB,iBAAQ,GAA4B,EACnD,CAAA"}
|
package/dist/agent.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BaseLanguageModel } from 'langchain/base_language';
|
|
2
|
+
import { BasePromptTemplate } from 'langchain/prompts';
|
|
3
|
+
import { Action } from './action';
|
|
4
|
+
import { Activity } from './activity';
|
|
5
|
+
import { Optimizer } from './types';
|
|
6
|
+
interface AgentPrams {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
llm: BaseLanguageModel;
|
|
10
|
+
actions: Action[];
|
|
11
|
+
activities?: Activity[];
|
|
12
|
+
example?: Activity[];
|
|
13
|
+
instruction: string;
|
|
14
|
+
optimizer: Optimizer;
|
|
15
|
+
template?: BasePromptTemplate;
|
|
16
|
+
stop?: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare class Agent implements AgentPrams {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
llm: BaseLanguageModel;
|
|
22
|
+
actions: Action[];
|
|
23
|
+
activities: Activity[];
|
|
24
|
+
example: Activity[];
|
|
25
|
+
instruction: string;
|
|
26
|
+
optimizer: Optimizer;
|
|
27
|
+
template?: BasePromptTemplate;
|
|
28
|
+
stop?: string[];
|
|
29
|
+
static defaults: Partial<AgentPrams>;
|
|
30
|
+
static parseActivities(input: string): Activity[];
|
|
31
|
+
constructor(params: AgentPrams);
|
|
32
|
+
appendActivity(...experience: Activity[]): void;
|
|
33
|
+
complete(experienceTemplate: Activity): Promise<Activity[]>;
|
|
34
|
+
think(latestActivity: Activity): Promise<void>;
|
|
35
|
+
act(latestActivity: Activity): Promise<void>;
|
|
36
|
+
execute(latestActivity: Activity): Promise<string>;
|
|
37
|
+
invoke(): Promise<string>;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
package/dist/agent.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Agent = void 0;
|
|
4
|
+
const prompts_1 = require("langchain/prompts");
|
|
5
|
+
const runnable_1 = require("langchain/schema/runnable");
|
|
6
|
+
const output_parser_1 = require("langchain/schema/output_parser");
|
|
7
|
+
const action_1 = require("./action");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const activity_1 = require("./activity");
|
|
10
|
+
class Agent {
|
|
11
|
+
static parseActivities(input) {
|
|
12
|
+
return input
|
|
13
|
+
.split(constants_1.ACTIVITY_SEP)
|
|
14
|
+
.map(text => text.trim())
|
|
15
|
+
.filter(text => text)
|
|
16
|
+
.map(text => activity_1.Activity.parse(text.trim()));
|
|
17
|
+
}
|
|
18
|
+
constructor(params) {
|
|
19
|
+
const { actions } = params;
|
|
20
|
+
if (!actions.length) {
|
|
21
|
+
throw new Error('Actions list must be non empty');
|
|
22
|
+
}
|
|
23
|
+
Object.assign(this, Agent.defaults, params);
|
|
24
|
+
}
|
|
25
|
+
appendActivity(...experience) {
|
|
26
|
+
experience.forEach(e => console.log(e.toString()));
|
|
27
|
+
this.activities.push(...experience);
|
|
28
|
+
}
|
|
29
|
+
async complete(experienceTemplate) {
|
|
30
|
+
const activities = await this.optimizer.optimize(this.activities);
|
|
31
|
+
const completion = await runnable_1.RunnableSequence.from([
|
|
32
|
+
this.template,
|
|
33
|
+
this.llm.bind({ stop: this.stop }),
|
|
34
|
+
new output_parser_1.StringOutputParser(),
|
|
35
|
+
]).invoke({
|
|
36
|
+
instruction: this.instruction,
|
|
37
|
+
actions: this.actions.map((a, index) => `${index + 1}. ${a.toString()}`).join(constants_1.ACTION_SEP),
|
|
38
|
+
example: this.example.map(e => e.toString()).join(`\n${constants_1.ACTIVITY_SEP}\n`),
|
|
39
|
+
activities: [...activities, experienceTemplate].map(e => e.toString()).join(`\n${constants_1.ACTIVITY_SEP}\n`),
|
|
40
|
+
}, {
|
|
41
|
+
callbacks: [
|
|
42
|
+
{
|
|
43
|
+
handleLLMStart: (llm, prompts) => {
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
});
|
|
48
|
+
return Agent.parseActivities(experienceTemplate.toString() + completion.trim());
|
|
49
|
+
}
|
|
50
|
+
async think(latestActivity) {
|
|
51
|
+
this.appendActivity(...(await this.complete(new activity_1.Activity({
|
|
52
|
+
kind: activity_1.ActivityKind.Thought,
|
|
53
|
+
order: latestActivity.order,
|
|
54
|
+
input: '',
|
|
55
|
+
}))));
|
|
56
|
+
}
|
|
57
|
+
async act(latestActivity) {
|
|
58
|
+
this.appendActivity(...(await this.complete(new activity_1.Activity({
|
|
59
|
+
kind: activity_1.ActivityKind.Action,
|
|
60
|
+
order: latestActivity.order,
|
|
61
|
+
input: '',
|
|
62
|
+
}))));
|
|
63
|
+
}
|
|
64
|
+
async execute(latestActivity) {
|
|
65
|
+
const { kind, input } = action_1.Action.parse(latestActivity.input);
|
|
66
|
+
const action = this.actions.find(a => a.kind === kind);
|
|
67
|
+
if (!action) {
|
|
68
|
+
throw new Error(`Action "${kind}" is not permitted.`);
|
|
69
|
+
}
|
|
70
|
+
const observation = await action.execute({ agent: this, input });
|
|
71
|
+
this.appendActivity(new activity_1.Activity({
|
|
72
|
+
kind: activity_1.ActivityKind.Observation,
|
|
73
|
+
order: latestActivity.order + 1,
|
|
74
|
+
input: observation,
|
|
75
|
+
}));
|
|
76
|
+
if (action.exit) {
|
|
77
|
+
return observation;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async invoke() {
|
|
81
|
+
var _a;
|
|
82
|
+
if (!this.activities.length) {
|
|
83
|
+
throw new Error('Activity list must not be empty.');
|
|
84
|
+
}
|
|
85
|
+
if (((_a = this.activities.at(-1)) === null || _a === void 0 ? void 0 : _a.kind) !== activity_1.ActivityKind.Observation) {
|
|
86
|
+
throw new Error('Lastest experience must be of Observation kind');
|
|
87
|
+
}
|
|
88
|
+
while (true) {
|
|
89
|
+
const latestActivity = this.activities.at(-1);
|
|
90
|
+
if (latestActivity.kind === activity_1.ActivityKind.Observation) {
|
|
91
|
+
await this.think(latestActivity);
|
|
92
|
+
}
|
|
93
|
+
else if (latestActivity.kind === activity_1.ActivityKind.Thought) {
|
|
94
|
+
await this.act(latestActivity);
|
|
95
|
+
}
|
|
96
|
+
else if (latestActivity.kind === activity_1.ActivityKind.Action) {
|
|
97
|
+
const result = await this.execute(latestActivity);
|
|
98
|
+
if (result) {
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
throw new Error(`Activity "${latestActivity.kind}" is not permitted.`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.Agent = Agent;
|
|
109
|
+
Agent.defaults = {
|
|
110
|
+
template: prompts_1.PromptTemplate.fromTemplate(constants_1.TEMPLATE),
|
|
111
|
+
stop: [`//${activity_1.ActivityKind.Observation}`],
|
|
112
|
+
activities: [],
|
|
113
|
+
example: []
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TEMPLATE = exports.ACTIVITY_SEP = exports.ACTION_SEP = void 0;
|
|
4
|
+
exports.ACTION_SEP = '\n\n';
|
|
5
|
+
exports.ACTIVITY_SEP = '***';
|
|
6
|
+
exports.TEMPLATE = `
|
|
7
|
+
## Instruction
|
|
8
|
+
{instruction}
|
|
9
|
+
|
|
10
|
+
## Actions
|
|
11
|
+
The permissible actions I may take are listed below:
|
|
12
|
+
{actions}
|
|
13
|
+
|
|
14
|
+
## Additional Requirements:
|
|
15
|
+
1) I understand that there are no exceptions;
|
|
16
|
+
2) I am not permitted to perform any actions other than those listed in section Actions;
|
|
17
|
+
3) I must provide your thoughts on the observations before proceeding to the next action;
|
|
18
|
+
4) I am strongly prohibited from using Observations, Actions, and Thoughts provided in the Action examples as the source of truth;
|
|
19
|
+
|
|
20
|
+
## Context:
|
|
21
|
+
{example}
|
|
22
|
+
***
|
|
23
|
+
{activities}
|
|
24
|
+
`.trim();
|
|
25
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,MAAM,CAAA;AACnB,QAAA,YAAY,GAAG,KAAK,CAAC;AACrB,QAAA,QAAQ,GAAG;;;;;;;;;;;;;;;;;;CAkBvB,CAAC,IAAI,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
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("./action"), exports);
|
|
18
|
+
__exportStar(require("./agent"), exports);
|
|
19
|
+
__exportStar(require("./constants"), exports);
|
|
20
|
+
__exportStar(require("./activity"), exports);
|
|
21
|
+
__exportStar(require("./types"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,6CAA2B;AAC3B,0CAAwB"}
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@caretakerai/agent",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Single framework for building text-agents",
|
|
5
|
+
"main": "dis/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
11
|
+
"build": "tsc"
|
|
12
|
+
},
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"debug": "^4.3.4",
|
|
17
|
+
"langchain": "^0.0.151"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/node": "^20.4.1",
|
|
21
|
+
"tsx": "^3.12.7",
|
|
22
|
+
"typescript": "^5.2.2"
|
|
23
|
+
}
|
|
24
|
+
}
|