agentlang 0.9.10 → 0.10.0
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/out/extension/main.cjs +38 -38
- package/out/extension/main.cjs.map +2 -2
- package/out/language/generated/ast.d.ts +1 -1
- package/out/language/generated/ast.js +1 -1
- package/out/language/generated/grammar.d.ts +1 -1
- package/out/language/generated/grammar.js +1 -1
- package/out/language/generated/module.d.ts +1 -1
- package/out/language/generated/module.js +1 -1
- package/out/language/main.cjs +850 -2388
- package/out/language/main.cjs.map +4 -4
- package/out/language/parser.d.ts.map +1 -1
- package/out/language/parser.js +10 -0
- package/out/language/parser.js.map +1 -1
- package/out/language/syntax.d.ts +8 -0
- package/out/language/syntax.d.ts.map +1 -1
- package/out/language/syntax.js +11 -2
- package/out/language/syntax.js.map +1 -1
- package/out/runtime/agents/common.d.ts +3 -1
- package/out/runtime/agents/common.d.ts.map +1 -1
- package/out/runtime/agents/common.js +35 -31
- package/out/runtime/agents/common.js.map +1 -1
- package/out/runtime/docs.d.ts +1 -0
- package/out/runtime/docs.d.ts.map +1 -1
- package/out/runtime/docs.js +16 -1
- package/out/runtime/docs.js.map +1 -1
- package/out/runtime/interpreter.d.ts +1 -0
- package/out/runtime/interpreter.d.ts.map +1 -1
- package/out/runtime/interpreter.js +123 -74
- package/out/runtime/interpreter.js.map +1 -1
- package/out/runtime/jsmodules.d.ts +2 -1
- package/out/runtime/jsmodules.d.ts.map +1 -1
- package/out/runtime/jsmodules.js +2 -1
- package/out/runtime/jsmodules.js.map +1 -1
- package/out/runtime/loader.d.ts.map +1 -1
- package/out/runtime/loader.js +3 -2
- package/out/runtime/loader.js.map +1 -1
- package/out/runtime/module.d.ts +1 -0
- package/out/runtime/module.d.ts.map +1 -1
- package/out/runtime/module.js +3 -0
- package/out/runtime/module.js.map +1 -1
- package/out/runtime/modules/ai.d.ts +11 -0
- package/out/runtime/modules/ai.d.ts.map +1 -1
- package/out/runtime/modules/ai.js +164 -11
- package/out/runtime/modules/ai.js.map +1 -1
- package/out/runtime/modules/core.d.ts.map +1 -1
- package/out/runtime/modules/core.js +7 -1
- package/out/runtime/modules/core.js.map +1 -1
- package/out/runtime/services/documentFetcher.d.ts +22 -14
- package/out/runtime/services/documentFetcher.d.ts.map +1 -1
- package/out/runtime/services/documentFetcher.js +348 -153
- package/out/runtime/services/documentFetcher.js.map +1 -1
- package/package.json +1 -1
- package/src/language/generated/ast.ts +1 -1
- package/src/language/generated/grammar.ts +1 -1
- package/src/language/generated/module.ts +1 -1
- package/src/language/parser.ts +12 -0
- package/src/language/syntax.ts +21 -2
- package/src/runtime/agents/common.ts +37 -31
- package/src/runtime/docs.ts +17 -1
- package/src/runtime/interpreter.ts +122 -69
- package/src/runtime/jsmodules.ts +3 -1
- package/src/runtime/loader.ts +3 -2
- package/src/runtime/module.ts +4 -0
- package/src/runtime/modules/ai.ts +196 -10
- package/src/runtime/modules/core.ts +7 -1
- package/src/runtime/services/documentFetcher.ts +372 -149
package/out/runtime/docs.js
CHANGED
|
@@ -38,7 +38,7 @@ async function getPDFParse() {
|
|
|
38
38
|
}
|
|
39
39
|
return PDFParse;
|
|
40
40
|
}
|
|
41
|
-
async function parsePdfBuffer(buffer) {
|
|
41
|
+
export async function parsePdfBuffer(buffer) {
|
|
42
42
|
try {
|
|
43
43
|
const PDFParseClass = await getPDFParse();
|
|
44
44
|
const parser = new PDFParseClass({
|
|
@@ -150,4 +150,19 @@ async function fetchTextFile(path) {
|
|
|
150
150
|
registerDocFetcher('http', httpFetcher);
|
|
151
151
|
registerDocFetcher('https', httpFetcher);
|
|
152
152
|
registerDocFetcher('file', fetchFile);
|
|
153
|
+
async function documentServiceFetcher(url) {
|
|
154
|
+
try {
|
|
155
|
+
const { documentFetcher } = await import('./services/documentFetcher.js');
|
|
156
|
+
const result = await documentFetcher.fetchDocument({
|
|
157
|
+
title: 'temp', // Title will be updated by handleDocEvent
|
|
158
|
+
url: url,
|
|
159
|
+
});
|
|
160
|
+
return result === null || result === void 0 ? void 0 : result.content;
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
logger.error(`Failed to fetch from document service ${url}: ${error.message}`);
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
registerDocFetcher('document-service', documentServiceFetcher);
|
|
153
168
|
//# sourceMappingURL=docs.js.map
|
package/out/runtime/docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/runtime/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,OAAiB;IAClE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC;QACN,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;QACtB,OAAO,SAAS,CAAC;AACxB,CAAC;AAED,IAAI,QAAQ,GAAQ,IAAI,CAAC;AACzB,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAE9B,gCAAgC;QAChC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtD,0CAA0C;YAC1C,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACtC,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAkB;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/runtime/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,OAAiB;IAClE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC;QACN,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;QACtB,OAAO,SAAS,CAAC;AACxB,CAAC;AAED,IAAI,QAAQ,GAAQ,IAAI,CAAC;AACzB,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAE9B,gCAAgC;QAChC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtD,0CAA0C;YAC1C,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACtC,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAkB;IACrD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,WAAW,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE7C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAEnC,kDAAkD;QAClD,IAAI,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,OAAO,MAAM,cAAc,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,OAAO,MAAW,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,IACL,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QACzB,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC5B,CAAC;QACD,OAAO,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEjC,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,MAAkB,CAAC;QACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEjC,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEjC,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACxC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACzC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtC,KAAK,UAAU,sBAAsB,CAAC,GAAW;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC;YACjD,KAAK,EAAE,MAAM,EAAE,0CAA0C;YACzD,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QACH,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;IACzB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,yCAAyC,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,kBAAkB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC"}
|
|
@@ -70,6 +70,7 @@ export declare class Environment extends Instance {
|
|
|
70
70
|
getActiveEventInstance(): Instance | undefined;
|
|
71
71
|
isSuspended(): boolean;
|
|
72
72
|
suspend(): string;
|
|
73
|
+
softSuspend(): string;
|
|
73
74
|
releaseSuspension(): Environment;
|
|
74
75
|
fetchSuspensionId(): string;
|
|
75
76
|
markForReturn(): Environment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,MAAM,EACN,IAAI,EAEJ,OAAO,EACP,cAAc,EAEd,EAAE,EACF,WAAW,EAWX,OAAO,EACP,KAAK,EAEL,MAAM,EACN,WAAW,EAIX,SAAS,EACT,UAAU,EAEX,MAAM,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isBinExpr, isGroup, isLiteral, isNegExpr, isNotExpr, isReturn, } from '../language/generated/ast.js';
|
|
2
|
-
import { defineAgentEvent, getOneOfRef, getRelationship, getWorkflow, Instance, isAgentEventInstance, isBetweenRelationship, isContainsRelationship, isEmptyWorkflow, isEntityInstance, isEventInstance, isInstanceOfType, isOneToOneBetweenRelationship, isTimer, makeInstance, maybeInstanceAsString, newInstanceAttributes, PlaceholderRecordEntry, setMetaAttributes, } from './module.js';
|
|
2
|
+
import { Agent, defineAgentEvent, getOneOfRef, getRelationship, getWorkflow, Instance, isAgentEventInstance, isBetweenRelationship, isContainsRelationship, isEmptyWorkflow, isEntityInstance, isEventInstance, isInstanceOfType, isOneToOneBetweenRelationship, isTimer, makeInstance, maybeInstanceAsString, newInstanceAttributes, PlaceholderRecordEntry, setMetaAttributes, } from './module.js';
|
|
3
3
|
import { Resolver } from './resolvers/interface.js';
|
|
4
4
|
import { ResolverAuthInfo } from './resolvers/authinfo.js';
|
|
5
5
|
import { SqlDbResolver } from './resolvers/sqldb/impl.js';
|
|
@@ -7,11 +7,11 @@ import { CrudType, DefaultModuleName, escapeFqName, escapeQueryName, fqNameFromP
|
|
|
7
7
|
import { getResolver, getResolverNameForPath } from './resolvers/registry.js';
|
|
8
8
|
import { parseStatement, parseWorkflow } from '../language/parser.js';
|
|
9
9
|
import { AdminSession, AdminUserId } from './auth/defs.js';
|
|
10
|
-
import { AgentEntityName, AgentFqName, AgentInstance, findAgentByName, normalizeGeneratedCode, } from './modules/ai.js';
|
|
10
|
+
import { AgentEntityName, AgentFqName, AgentInstance, findAgentByName, normalizeGeneratedCode, saveFlowStepResult, } from './modules/ai.js';
|
|
11
11
|
import { logger } from './logger.js';
|
|
12
12
|
import { FlowSuspensionTag, ParentAttributeName, PathAttributeName, PathAttributeNameQuery, } from './defs.js';
|
|
13
13
|
import { addCreateAudit, addDeleteAudit, addUpdateAudit, createSuspension, flushMonitoringData, triggerTimer, } from './modules/core.js';
|
|
14
|
-
import { invokeModuleFn } from './jsmodules.js';
|
|
14
|
+
import { getModuleDef, invokeModuleFn } from './jsmodules.js';
|
|
15
15
|
import { invokeOpenApiEvent, isOpenApiEventInstance } from './openapi.js';
|
|
16
16
|
import { fetchDoc } from './docs.js';
|
|
17
17
|
import { getAgentFlow } from './agents/flows.js';
|
|
@@ -290,6 +290,10 @@ export class Environment extends Instance {
|
|
|
290
290
|
return this.suspensionId;
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
+
softSuspend() {
|
|
294
|
+
this.suspensionId = this.preGeneratedSuspensionId;
|
|
295
|
+
return this.suspensionId;
|
|
296
|
+
}
|
|
293
297
|
releaseSuspension() {
|
|
294
298
|
this.suspensionId = undefined;
|
|
295
299
|
this.preGeneratedSuspensionId = crypto.randomUUID();
|
|
@@ -1467,6 +1471,19 @@ async function handleDocEvent(inst, env) {
|
|
|
1467
1471
|
});
|
|
1468
1472
|
return;
|
|
1469
1473
|
}
|
|
1474
|
+
if (typeof url === 'string' && url.startsWith('document-service://')) {
|
|
1475
|
+
const title = inst.lookup('title');
|
|
1476
|
+
const retrievalConfig = inst.lookup('retrievalConfig');
|
|
1477
|
+
const embeddingConfig = inst.lookup('embeddingConfig');
|
|
1478
|
+
const { documentFetcher } = await import('./services/documentFetcher.js');
|
|
1479
|
+
await documentFetcher.fetchDocument({
|
|
1480
|
+
title,
|
|
1481
|
+
url,
|
|
1482
|
+
retrievalConfig,
|
|
1483
|
+
embeddingConfig,
|
|
1484
|
+
});
|
|
1485
|
+
return;
|
|
1486
|
+
}
|
|
1470
1487
|
const s = await fetchDoc(url);
|
|
1471
1488
|
if (s) {
|
|
1472
1489
|
const title = inst.lookup('title');
|
|
@@ -1669,7 +1686,7 @@ async function agentInvoke(agent, msg, env) {
|
|
|
1669
1686
|
isWf = true;
|
|
1670
1687
|
}
|
|
1671
1688
|
if (isWf) {
|
|
1672
|
-
const wf = await parseWorkflow(rs);
|
|
1689
|
+
const wf = await parseWorkflow(normalizeGeneratedCode(rs));
|
|
1673
1690
|
if (stmtsExec) {
|
|
1674
1691
|
await stmtsExec(wf.statements, env);
|
|
1675
1692
|
}
|
|
@@ -1684,7 +1701,7 @@ async function agentInvoke(agent, msg, env) {
|
|
|
1684
1701
|
env.setLastResult(r);
|
|
1685
1702
|
}
|
|
1686
1703
|
else {
|
|
1687
|
-
env.setLastResult(await parseAndEvaluateStatement(rs, undefined, env));
|
|
1704
|
+
env.setLastResult(await parseAndEvaluateStatement(normalizeGeneratedCode(rs), undefined, env));
|
|
1688
1705
|
}
|
|
1689
1706
|
}
|
|
1690
1707
|
agent.maybeAddScratchData(env);
|
|
@@ -1716,7 +1733,7 @@ async function agentInvoke(agent, msg, env) {
|
|
|
1716
1733
|
const obj = agent.maybeValidateJsonResponse(result);
|
|
1717
1734
|
if (obj !== undefined) {
|
|
1718
1735
|
env.setLastResult(obj);
|
|
1719
|
-
env.addToScratchPad(agent.getFqName(), obj);
|
|
1736
|
+
env.addToScratchPad(Agent.NormalizeName(agent.getFqName()), obj);
|
|
1720
1737
|
}
|
|
1721
1738
|
break;
|
|
1722
1739
|
}
|
|
@@ -1792,91 +1809,115 @@ export async function restartFlow(flowContext, userData, env) {
|
|
|
1792
1809
|
const rootAgent = await findAgentByName(agentName, env);
|
|
1793
1810
|
const flow = getAgentFlow(agentName, rootAgent.moduleName);
|
|
1794
1811
|
if (flow) {
|
|
1795
|
-
const newCtx = `${ctx}\
|
|
1812
|
+
const newCtx = `${ctx}\nRestart the flow at ${step} using the following user-input as additional guidance:\n${userData}\n`;
|
|
1796
1813
|
env.setScratchPad(JSON.parse(spad));
|
|
1797
1814
|
await iterateOnFlow(flow, rootAgent, newCtx, env);
|
|
1798
1815
|
}
|
|
1799
1816
|
}
|
|
1800
1817
|
const MaxFlowSteps = 25;
|
|
1818
|
+
const MaxFlowRetries = 10;
|
|
1801
1819
|
async function iterateOnFlow(flow, rootAgent, msg, env) {
|
|
1820
|
+
var _a;
|
|
1802
1821
|
rootAgent.disableSession();
|
|
1803
|
-
const
|
|
1804
|
-
const
|
|
1822
|
+
const chatId = (_a = env.getActiveEventInstance()) === null || _a === void 0 ? void 0 : _a.lookup('chatId');
|
|
1823
|
+
const iterId = chatId || crypto.randomUUID();
|
|
1824
|
+
let step = '';
|
|
1825
|
+
let fullFlowRetries = 0;
|
|
1826
|
+
while (true) {
|
|
1827
|
+
try {
|
|
1828
|
+
const initContext = msg;
|
|
1829
|
+
const s = `Now consider the following flowchart and return the next step:\n${flow}\n
|
|
1805
1830
|
If you understand from the context that a step with no further possible steps has been evaluated,
|
|
1806
1831
|
terminate the flowchart by returning DONE. Never return to the top or root step of the flowchart, instead return DONE.
|
|
1807
1832
|
Important: Return only the next flow-step or DONE. Do not return any additional description, like your thinking process.\n`;
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
}
|
|
1823
|
-
let isfxc = false;
|
|
1824
|
-
try {
|
|
1825
|
-
while (step != 'DONE' && !executedSteps.has(step)) {
|
|
1826
|
-
if (stepc > MaxFlowSteps) {
|
|
1827
|
-
throw new Error(`Flow execution exceeded maximum steps limit`);
|
|
1833
|
+
env.setFlowContext(initContext);
|
|
1834
|
+
await agentInvoke(rootAgent, s, env);
|
|
1835
|
+
const rootModuleName = rootAgent.moduleName;
|
|
1836
|
+
let preprocResult = await preprocessStep(env.getLastResult(), rootModuleName, env);
|
|
1837
|
+
step = preprocResult.step;
|
|
1838
|
+
let needAgentProcessing = preprocResult.needAgentProcessing;
|
|
1839
|
+
let context = initContext;
|
|
1840
|
+
let stepc = 0;
|
|
1841
|
+
console.debug(`Starting iteration ${iterId} on flow: ${flow}`);
|
|
1842
|
+
const executedSteps = new Set();
|
|
1843
|
+
const monitoringEnabled = isMonitoringEnabled();
|
|
1844
|
+
let isfxc = false;
|
|
1845
|
+
if (monitoringEnabled) {
|
|
1846
|
+
env.flagMonitorEntryAsFlow().incrementMonitor();
|
|
1828
1847
|
}
|
|
1829
|
-
executedSteps.
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1848
|
+
while (step != 'DONE' && !executedSteps.has(step)) {
|
|
1849
|
+
if (stepc > MaxFlowSteps) {
|
|
1850
|
+
throw new Error(`Flow execution exceeded maximum steps limit`);
|
|
1851
|
+
}
|
|
1852
|
+
executedSteps.add(step);
|
|
1853
|
+
++stepc;
|
|
1854
|
+
const agent = needAgentProcessing
|
|
1855
|
+
? AgentInstance.FromFlowStep(step, rootAgent, context)
|
|
1856
|
+
: undefined;
|
|
1857
|
+
if (agent) {
|
|
1858
|
+
console.debug(`Starting to execute flow step ${step} with agent ${agent.name} with iteration ID ${iterId} and context: \n${context}`);
|
|
1859
|
+
isfxc = agent.isFlowExecutor();
|
|
1860
|
+
const isdec = agent.isDecisionExecutor();
|
|
1861
|
+
if (isfxc || isdec)
|
|
1862
|
+
env.setFlowContext(context);
|
|
1863
|
+
else
|
|
1864
|
+
env.setFlowContext(initContext);
|
|
1865
|
+
if (monitoringEnabled) {
|
|
1866
|
+
env.appendEntryToMonitor(step);
|
|
1867
|
+
}
|
|
1868
|
+
const inst = agent.swapInstruction('');
|
|
1869
|
+
await agentInvoke(agent, inst, env);
|
|
1870
|
+
}
|
|
1871
|
+
else {
|
|
1872
|
+
rootAgent.maybeAddScratchData(env);
|
|
1873
|
+
}
|
|
1874
|
+
if (monitoringEnabled)
|
|
1875
|
+
env.setMonitorEntryResult(env.getLastResult());
|
|
1876
|
+
if (env.isSuspended()) {
|
|
1877
|
+
console.debug(`${iterId} suspending iteration on step ${step}`);
|
|
1878
|
+
await saveFlowSuspension(rootAgent, context, step, env);
|
|
1879
|
+
env.releaseSuspension();
|
|
1880
|
+
return;
|
|
1881
|
+
}
|
|
1882
|
+
const r = env.getLastResult();
|
|
1883
|
+
const rs = maybeInstanceAsString(r);
|
|
1884
|
+
console.debug(`\n----> Completed execution of step ${step}, iteration id ${iterId} with result:\n${rs}`);
|
|
1885
|
+
context = `${context}\n${step} --> ${rs}\n`;
|
|
1886
|
+
if (chatId) {
|
|
1887
|
+
const suspEnv = new Environment(env.name, env);
|
|
1888
|
+
suspEnv.softSuspend();
|
|
1889
|
+
await saveFlowSuspension(rootAgent, context, step, suspEnv);
|
|
1890
|
+
await saveFlowStepResult(chatId, step, rs, suspEnv.getSuspensionId(), env);
|
|
1891
|
+
}
|
|
1892
|
+
if (isfxc) {
|
|
1893
|
+
preprocResult = await preprocessStep(rs, rootModuleName, env);
|
|
1894
|
+
}
|
|
1895
|
+
else {
|
|
1840
1896
|
env.setFlowContext(context);
|
|
1841
|
-
|
|
1842
|
-
env.
|
|
1843
|
-
if (monitoringEnabled) {
|
|
1844
|
-
env.appendEntryToMonitor(step);
|
|
1897
|
+
await agentInvoke(rootAgent, `${s}\n${context}`, env);
|
|
1898
|
+
preprocResult = await preprocessStep(env.getLastResult(), rootModuleName, env);
|
|
1845
1899
|
}
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
}
|
|
1849
|
-
else {
|
|
1850
|
-
rootAgent.maybeAddScratchData(env);
|
|
1851
|
-
}
|
|
1852
|
-
if (monitoringEnabled)
|
|
1853
|
-
env.setMonitorEntryResult(env.getLastResult());
|
|
1854
|
-
if (env.isSuspended()) {
|
|
1855
|
-
console.debug(`${iterId} suspending iteration on step ${step}`);
|
|
1856
|
-
await saveFlowSuspension(rootAgent, context, step, env);
|
|
1857
|
-
env.releaseSuspension();
|
|
1858
|
-
return;
|
|
1900
|
+
step = preprocResult.step;
|
|
1901
|
+
needAgentProcessing = preprocResult.needAgentProcessing;
|
|
1859
1902
|
}
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1903
|
+
}
|
|
1904
|
+
catch (reason) {
|
|
1905
|
+
if (fullFlowRetries < MaxFlowRetries) {
|
|
1906
|
+
msg = `The previous attempt failed at step ${step} with the error ${reason}. Restart the flow the appropriate step
|
|
1907
|
+
(maybe even from the first step) and try to fix the issue.`;
|
|
1908
|
+
++fullFlowRetries;
|
|
1909
|
+
continue;
|
|
1866
1910
|
}
|
|
1867
1911
|
else {
|
|
1868
|
-
|
|
1869
|
-
await agentInvoke(rootAgent, `${s}\n${context}`, env);
|
|
1870
|
-
preprocResult = await preprocessStep(env.getLastResult(), rootModuleName, env);
|
|
1912
|
+
throw new Error(reason);
|
|
1871
1913
|
}
|
|
1872
|
-
step = preprocResult.step;
|
|
1873
|
-
needAgentProcessing = preprocResult.needAgentProcessing;
|
|
1874
1914
|
}
|
|
1915
|
+
finally {
|
|
1916
|
+
env.decrementMonitor().revokeLastResult().setMonitorFlowResult();
|
|
1917
|
+
}
|
|
1918
|
+
console.debug(`No more flow steps, completed iteration ${iterId} on flow:\n${flow}`);
|
|
1919
|
+
break;
|
|
1875
1920
|
}
|
|
1876
|
-
finally {
|
|
1877
|
-
env.decrementMonitor().revokeLastResult().setMonitorFlowResult();
|
|
1878
|
-
}
|
|
1879
|
-
console.debug(`No more flow steps, completed iteration ${iterId} on flow:\n${flow}`);
|
|
1880
1921
|
}
|
|
1881
1922
|
async function preprocessStep(spec, activeModuleName, env) {
|
|
1882
1923
|
let needAgentProcessing = true;
|
|
@@ -2091,11 +2132,19 @@ async function followReference(env, s) {
|
|
|
2091
2132
|
for (let i = 0; i < refs.length; ++i) {
|
|
2092
2133
|
const r = refs[i];
|
|
2093
2134
|
const v = await getRef(r, src, env);
|
|
2094
|
-
if (v === undefined)
|
|
2095
|
-
|
|
2135
|
+
if (v === undefined || v === null) {
|
|
2136
|
+
result = EmptyResult;
|
|
2137
|
+
break;
|
|
2138
|
+
}
|
|
2096
2139
|
result = v;
|
|
2097
2140
|
src = result;
|
|
2098
2141
|
}
|
|
2142
|
+
if (result === EmptyResult) {
|
|
2143
|
+
result = getModuleDef(s);
|
|
2144
|
+
if (result === undefined) {
|
|
2145
|
+
result = EmptyResult;
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2099
2148
|
return result;
|
|
2100
2149
|
}
|
|
2101
2150
|
async function dereferencePath(path, env) {
|