agentlang 0.0.3 → 0.0.5
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/README.md +16 -47
- package/out/api/http.d.ts.map +1 -1
- package/out/api/http.js +39 -19
- package/out/api/http.js.map +1 -1
- package/out/cli/main.d.ts +1 -3
- package/out/cli/main.d.ts.map +1 -1
- package/out/cli/main.js +6 -12
- package/out/cli/main.js.map +1 -1
- package/out/language/generated/ast.d.ts +98 -19
- package/out/language/generated/ast.d.ts.map +1 -1
- package/out/language/generated/ast.js +144 -26
- package/out/language/generated/ast.js.map +1 -1
- package/out/language/generated/grammar.d.ts +1 -1
- package/out/language/generated/grammar.d.ts.map +1 -1
- package/out/language/generated/grammar.js +1000 -305
- package/out/language/generated/grammar.js.map +1 -1
- package/out/language/generated/module.d.ts +1 -1
- package/out/language/generated/module.js +1 -1
- package/out/language/main.cjs +1097 -312
- package/out/language/main.cjs.map +2 -2
- package/out/language/parser.js +13 -6
- package/out/language/parser.js.map +1 -1
- package/out/runtime/agents/common.d.ts +1 -1
- package/out/runtime/agents/common.d.ts.map +1 -1
- package/out/runtime/agents/common.js +1 -1
- package/out/runtime/auth/cognito.d.ts +4 -1
- package/out/runtime/auth/cognito.d.ts.map +1 -1
- package/out/runtime/auth/cognito.js +540 -73
- package/out/runtime/auth/cognito.js.map +1 -1
- package/out/runtime/auth/defs.d.ts +3 -0
- package/out/runtime/auth/defs.d.ts.map +1 -1
- package/out/runtime/auth/defs.js +17 -1
- package/out/runtime/auth/defs.js.map +1 -1
- package/out/runtime/auth/interface.d.ts +6 -1
- package/out/runtime/auth/interface.d.ts.map +1 -1
- package/out/runtime/defs.d.ts +21 -0
- package/out/runtime/defs.d.ts.map +1 -1
- package/out/runtime/defs.js +35 -0
- package/out/runtime/defs.js.map +1 -1
- package/out/runtime/interpreter.d.ts.map +1 -1
- package/out/runtime/interpreter.js +45 -36
- package/out/runtime/interpreter.js.map +1 -1
- package/out/runtime/loader.d.ts +4 -2
- package/out/runtime/loader.d.ts.map +1 -1
- package/out/runtime/loader.js +164 -29
- package/out/runtime/loader.js.map +1 -1
- package/out/runtime/module.d.ts +49 -5
- package/out/runtime/module.d.ts.map +1 -1
- package/out/runtime/module.js +214 -9
- package/out/runtime/module.js.map +1 -1
- package/out/runtime/modules/ai.d.ts +7 -5
- package/out/runtime/modules/ai.d.ts.map +1 -1
- package/out/runtime/modules/ai.js +50 -24
- package/out/runtime/modules/ai.js.map +1 -1
- package/out/runtime/modules/auth.d.ts +17 -1
- package/out/runtime/modules/auth.d.ts.map +1 -1
- package/out/runtime/modules/auth.js +295 -32
- package/out/runtime/modules/auth.js.map +1 -1
- package/out/runtime/modules/core.d.ts.map +1 -1
- package/out/runtime/modules/core.js +3 -1
- package/out/runtime/modules/core.js.map +1 -1
- package/out/runtime/relgraph.d.ts.map +1 -1
- package/out/runtime/relgraph.js +2 -2
- package/out/runtime/relgraph.js.map +1 -1
- package/out/runtime/resolvers/interface.d.ts +37 -2
- package/out/runtime/resolvers/interface.d.ts.map +1 -1
- package/out/runtime/resolvers/interface.js +103 -5
- package/out/runtime/resolvers/interface.js.map +1 -1
- package/out/runtime/resolvers/registry.d.ts +3 -2
- package/out/runtime/resolvers/registry.d.ts.map +1 -1
- package/out/runtime/resolvers/registry.js +3 -0
- package/out/runtime/resolvers/registry.js.map +1 -1
- package/out/runtime/resolvers/sqldb/database.d.ts +4 -2
- package/out/runtime/resolvers/sqldb/database.d.ts.map +1 -1
- package/out/runtime/resolvers/sqldb/database.js +43 -4
- package/out/runtime/resolvers/sqldb/database.js.map +1 -1
- package/out/runtime/resolvers/sqldb/impl.d.ts.map +1 -1
- package/out/runtime/resolvers/sqldb/impl.js +7 -3
- package/out/runtime/resolvers/sqldb/impl.js.map +1 -1
- package/out/runtime/state.d.ts +31 -3
- package/out/runtime/state.d.ts.map +1 -1
- package/out/runtime/state.js +11 -1
- package/out/runtime/state.js.map +1 -1
- package/out/runtime/util.d.ts +5 -0
- package/out/runtime/util.d.ts.map +1 -1
- package/out/runtime/util.js +27 -0
- package/out/runtime/util.js.map +1 -1
- package/out/syntaxes/agentlang.monarch.js +2 -2
- package/out/syntaxes/agentlang.monarch.js.map +1 -1
- package/out/utils/http.d.ts +2 -0
- package/out/utils/http.d.ts.map +1 -0
- package/out/utils/http.js +5 -0
- package/out/utils/http.js.map +1 -0
- package/package.json +8 -6
- package/src/api/http.ts +41 -17
- package/src/cli/main.ts +6 -12
- package/src/language/agentlang.langium +35 -10
- package/src/language/generated/ast.ts +257 -45
- package/src/language/generated/grammar.ts +1000 -305
- package/src/language/generated/module.ts +1 -1
- package/src/language/parser.ts +12 -8
- package/src/runtime/agents/common.ts +1 -1
- package/src/runtime/auth/cognito.ts +605 -74
- package/src/runtime/auth/defs.ts +17 -1
- package/src/runtime/auth/interface.ts +6 -1
- package/src/runtime/defs.ts +45 -0
- package/src/runtime/interpreter.ts +43 -34
- package/src/runtime/loader.ts +172 -30
- package/src/runtime/module.ts +257 -10
- package/src/runtime/modules/ai.ts +52 -28
- package/src/runtime/modules/auth.ts +343 -40
- package/src/runtime/modules/core.ts +3 -1
- package/src/runtime/relgraph.ts +2 -8
- package/src/runtime/resolvers/interface.ts +141 -6
- package/src/runtime/resolvers/registry.ts +5 -2
- package/src/runtime/resolvers/sqldb/database.ts +55 -4
- package/src/runtime/resolvers/sqldb/impl.ts +8 -7
- package/src/runtime/state.ts +11 -1
- package/src/runtime/util.ts +29 -0
- package/src/syntaxes/agentlang.monarch.ts +2 -2
- package/src/utils/http.ts +5 -0
- package/src/index.ts +0 -29
|
@@ -2,25 +2,27 @@ import { Environment } from '../interpreter.js';
|
|
|
2
2
|
import { Instance } from '../module.js';
|
|
3
3
|
import { AgentServiceProvider } from '../agents/provider.js';
|
|
4
4
|
export declare const CoreAIModuleName: string;
|
|
5
|
+
export declare const AgentEntityName = "Agent";
|
|
6
|
+
export declare const LlmEntityName = "LLM";
|
|
5
7
|
declare const _default: string;
|
|
6
8
|
export default _default;
|
|
7
9
|
export declare const AgentFqName: string;
|
|
8
|
-
export declare class
|
|
10
|
+
export declare class AgentInstance {
|
|
9
11
|
llm: string;
|
|
10
12
|
name: string;
|
|
11
13
|
chatId: string | undefined;
|
|
12
14
|
instruction: string;
|
|
13
15
|
type: string;
|
|
14
|
-
tools: string
|
|
15
|
-
documents: string
|
|
16
|
+
tools: string | undefined;
|
|
17
|
+
documents: string | undefined;
|
|
16
18
|
private constructor();
|
|
17
|
-
static FromInstance(agentInstance: Instance):
|
|
19
|
+
static FromInstance(agentInstance: Instance): AgentInstance;
|
|
18
20
|
isPlanner(): boolean;
|
|
19
21
|
invoke(message: string, env: Environment): Promise<void>;
|
|
20
22
|
private maybeAddRelevantDocuments;
|
|
21
23
|
private toolsAsString;
|
|
22
24
|
}
|
|
23
|
-
export declare function findAgentByName(name: string, env: Environment): Promise<
|
|
25
|
+
export declare function findAgentByName(name: string, env: Environment): Promise<AgentInstance>;
|
|
24
26
|
export declare function findProviderForLLM(llmName: string, env: Environment): Promise<AgentServiceProvider>;
|
|
25
27
|
export declare function findAgentChatSession(chatId: string, env: Environment): Promise<Instance | null>;
|
|
26
28
|
export declare function saveAgentChatSession(chatId: string, messages: any[], env: Environment): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/runtime/modules/ai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiD,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAe,QAAQ,EAA8B,MAAM,cAAc,CAAC;AAEjF,OAAO,EACL,oBAAoB,EAKrB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,gBAAgB,QAA2B,CAAC;;
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/runtime/modules/ai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiD,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAe,QAAQ,EAA8B,MAAM,cAAc,CAAC;AAEjF,OAAO,EACL,oBAAoB,EAKrB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,gBAAgB,QAA2B,CAAC;AACzD,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,aAAa,QAAQ,CAAC;;AAEnC,wBAoCE;AAEF,eAAO,MAAM,WAAW,QAAgD,CAAC;AAIzE,qBAAa,aAAa;IACxB,GAAG,EAAE,MAAM,CAAM;IACjB,IAAI,EAAE,MAAM,CAAM;IAClB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAM;IACzB,IAAI,EAAE,MAAM,CAAU;IACtB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,OAAO;IAEP,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,GAAG,aAAa;IAI3D,SAAS,IAAI,OAAO;IAId,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW;YAiChC,yBAAyB;IA8BvC,OAAO,CAAC,aAAa;CAoCtB;AAOD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAQ5F;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,oBAAoB,CAAC,CAuB/B;AAqCD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAM1B;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,iBAM3F;AAED,wBAAgB,SAAS,CAAC,aAAa,EAAE,QAAQ,GAAG,MAAM,CAEzD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { makeCoreModuleName, makeFqName } from '../util.js';
|
|
1
|
+
import { isFqName, makeCoreModuleName, makeFqName, splitFqName } from '../util.js';
|
|
2
2
|
import { makeEventEvaluator, parseAndEvaluateStatement } from '../interpreter.js';
|
|
3
3
|
import { fetchModule, instanceToObject, isModule } from '../module.js';
|
|
4
4
|
import { provider } from '../agents/registry.js';
|
|
@@ -7,20 +7,22 @@ import { AIMessage, HumanMessage } from '@langchain/core/messages';
|
|
|
7
7
|
import { PlannerInstructions } from '../agents/common.js';
|
|
8
8
|
import { PathAttributeNameQuery } from '../defs.js';
|
|
9
9
|
export const CoreAIModuleName = makeCoreModuleName('ai');
|
|
10
|
+
export const AgentEntityName = 'Agent';
|
|
11
|
+
export const LlmEntityName = 'LLM';
|
|
10
12
|
export default `module ${CoreAIModuleName}
|
|
11
13
|
|
|
12
|
-
entity
|
|
14
|
+
entity ${LlmEntityName} {
|
|
13
15
|
name String @id,
|
|
14
16
|
service String @default("openai"),
|
|
15
17
|
config Map @optional
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
entity
|
|
20
|
+
entity ${AgentEntityName} {
|
|
19
21
|
name String @id,
|
|
20
22
|
type @enum("chat", "planner") @default("chat"),
|
|
21
23
|
instruction String @optional,
|
|
22
|
-
tools String
|
|
23
|
-
documents String
|
|
24
|
+
tools String @optional, // comma-separated values
|
|
25
|
+
documents String @optional, // comma-separated values
|
|
24
26
|
llm String
|
|
25
27
|
}
|
|
26
28
|
|
|
@@ -35,18 +37,18 @@ workflow findAgentChatSession {
|
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
workflow saveAgentChatSession {
|
|
38
|
-
|
|
40
|
+
{agentChatSession {id saveAgentChatSession.id, messages saveAgentChatSession.messages}, @upsert}
|
|
39
41
|
}
|
|
40
42
|
|
|
41
|
-
entity
|
|
43
|
+
entity Document {
|
|
42
44
|
title String @id,
|
|
43
45
|
content String,
|
|
44
46
|
@meta {"fullTextSearch": "*"}
|
|
45
47
|
}
|
|
46
48
|
`;
|
|
47
|
-
export const AgentFqName = makeFqName(CoreAIModuleName,
|
|
49
|
+
export const AgentFqName = makeFqName(CoreAIModuleName, AgentEntityName);
|
|
48
50
|
const ProviderDb = new Map();
|
|
49
|
-
export class
|
|
51
|
+
export class AgentInstance {
|
|
50
52
|
constructor() {
|
|
51
53
|
this.llm = '';
|
|
52
54
|
this.name = '';
|
|
@@ -54,7 +56,7 @@ export class Agent {
|
|
|
54
56
|
this.type = 'chat';
|
|
55
57
|
}
|
|
56
58
|
static FromInstance(agentInstance) {
|
|
57
|
-
return instanceToObject(agentInstance, new
|
|
59
|
+
return instanceToObject(agentInstance, new AgentInstance());
|
|
58
60
|
}
|
|
59
61
|
isPlanner() {
|
|
60
62
|
return (this.tools && this.tools.length > 0) || this.type == 'planner';
|
|
@@ -93,13 +95,13 @@ export class Agent {
|
|
|
93
95
|
}
|
|
94
96
|
async maybeAddRelevantDocuments(message, env) {
|
|
95
97
|
if (this.documents && this.documents.length > 0) {
|
|
96
|
-
const s = `${message}. Relevant documents are: ${this.documents
|
|
97
|
-
const result = await parseHelper(`{agentlang_ai/
|
|
98
|
+
const s = `${message}. Relevant documents are: ${this.documents}`;
|
|
99
|
+
const result = await parseHelper(`{agentlang_ai/Document? "${s}"}`, env);
|
|
98
100
|
if (result && result.length > 0) {
|
|
99
101
|
const docs = [];
|
|
100
102
|
for (let i = 0; i < result.length; ++i) {
|
|
101
103
|
const v = result[i];
|
|
102
|
-
const r = await parseHelper(`{agentlang_ai/
|
|
104
|
+
const r = await parseHelper(`{agentlang_ai/Document {${PathAttributeNameQuery} "${v.id}"}}`, env);
|
|
103
105
|
if (r && r.length > 0) {
|
|
104
106
|
docs.push(r[0]);
|
|
105
107
|
}
|
|
@@ -117,14 +119,38 @@ export class Agent {
|
|
|
117
119
|
}
|
|
118
120
|
toolsAsString() {
|
|
119
121
|
if (this.tools) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
const tooldefs = new Array();
|
|
123
|
+
const slimModules = new Map();
|
|
124
|
+
this.tools.split(',').forEach((n) => {
|
|
125
|
+
let moduleName;
|
|
126
|
+
let entryName;
|
|
127
|
+
if (isFqName(n)) {
|
|
128
|
+
const parts = splitFqName(n);
|
|
129
|
+
moduleName = parts.getModuleName();
|
|
130
|
+
entryName = parts.getEntryName();
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
moduleName = n;
|
|
134
|
+
}
|
|
135
|
+
if (isModule(moduleName)) {
|
|
136
|
+
const m = fetchModule(moduleName);
|
|
137
|
+
if (entryName) {
|
|
138
|
+
const hasmod = slimModules.has(moduleName);
|
|
139
|
+
const defs = hasmod ? slimModules.get(moduleName) : new Array();
|
|
140
|
+
defs === null || defs === void 0 ? void 0 : defs.push(m.getEntry(entryName).toString());
|
|
141
|
+
if (!hasmod && defs) {
|
|
142
|
+
slimModules.set(moduleName, defs);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
tooldefs.push(fetchModule(moduleName).toString());
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
slimModules.forEach((defs, modName) => {
|
|
151
|
+
tooldefs.push(`module ${modName}\n${defs.join('\n')}`);
|
|
152
|
+
});
|
|
153
|
+
return tooldefs.join('\n');
|
|
128
154
|
}
|
|
129
155
|
else {
|
|
130
156
|
return '';
|
|
@@ -136,10 +162,10 @@ async function parseHelper(stmt, env) {
|
|
|
136
162
|
return env.getLastResult();
|
|
137
163
|
}
|
|
138
164
|
export async function findAgentByName(name, env) {
|
|
139
|
-
const result = await parseHelper(`{
|
|
165
|
+
const result = await parseHelper(`{${AgentFqName} {name? "${name}"}}`, env);
|
|
140
166
|
if (result instanceof Array && result.length > 0) {
|
|
141
167
|
const agentInstance = result[0];
|
|
142
|
-
return
|
|
168
|
+
return AgentInstance.FromInstance(agentInstance);
|
|
143
169
|
}
|
|
144
170
|
else {
|
|
145
171
|
throw new Error(`Failed to fine agent ${name}`);
|
|
@@ -148,7 +174,7 @@ export async function findAgentByName(name, env) {
|
|
|
148
174
|
export async function findProviderForLLM(llmName, env) {
|
|
149
175
|
let p = ProviderDb.get(llmName);
|
|
150
176
|
if (p == undefined) {
|
|
151
|
-
const result = await parseAndEvaluateStatement(`{${CoreAIModuleName}
|
|
177
|
+
const result = await parseAndEvaluateStatement(`{${CoreAIModuleName}/${LlmEntityName} {name? "${llmName}"}}`, undefined, env);
|
|
152
178
|
if (result.length > 0) {
|
|
153
179
|
const llm = result[0];
|
|
154
180
|
const service = llm.lookup('service');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/runtime/modules/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/runtime/modules/ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Result, Environment } from '../interpreter.js';
|
|
|
2
2
|
import { RbacPermissionFlag } from '../module.js';
|
|
3
3
|
import { UserInfo } from '../auth/interface.js';
|
|
4
4
|
import { ActiveSessionInfo } from '../auth/defs.js';
|
|
5
|
+
import { getHttpStatusForError } from '../auth/cognito.js';
|
|
5
6
|
export declare const CoreAuthModuleName: string;
|
|
6
7
|
declare const _default: string;
|
|
7
8
|
export default _default;
|
|
@@ -26,7 +27,22 @@ export declare const canUserRead: PermCheckForUser;
|
|
|
26
27
|
export declare const canUserUpdate: PermCheckForUser;
|
|
27
28
|
export declare const canUserDelete: PermCheckForUser;
|
|
28
29
|
export declare function signUpUser(username: string, password: string, userData: object, env: Environment): Promise<UserInfo>;
|
|
29
|
-
export declare function loginUser(username: string, password: string, env: Environment): Promise<string>;
|
|
30
|
+
export declare function loginUser(username: string, password: string, env: Environment): Promise<string | object>;
|
|
30
31
|
export declare function verifySession(token: string, env?: Environment): Promise<ActiveSessionInfo>;
|
|
32
|
+
export declare function getUserInfo(userId: string, env: Environment): Promise<UserInfo>;
|
|
33
|
+
export declare function getUserInfoByEmail(email: string, env: Environment): Promise<UserInfo>;
|
|
31
34
|
export declare function requireAuth(moduleName: string, eventName: string): boolean;
|
|
35
|
+
export { getHttpStatusForError };
|
|
36
|
+
export declare function createAuthErrorResponse(error: Error): {
|
|
37
|
+
error: string;
|
|
38
|
+
message: string;
|
|
39
|
+
statusCode: number;
|
|
40
|
+
};
|
|
41
|
+
export declare function isAuthError(error: any): boolean;
|
|
42
|
+
export declare function sanitizeErrorForLogging(error: Error): {
|
|
43
|
+
name: string;
|
|
44
|
+
message: string;
|
|
45
|
+
sanitizedMessage: string;
|
|
46
|
+
};
|
|
47
|
+
export declare function isRetryableError(error: Error): boolean;
|
|
32
48
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/runtime/modules/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAsB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/runtime/modules/auth.ts"],"names":[],"mappings":"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"}
|